#include "cz80.h"\r
\r
#if PICODRIVE_HACKS\r
-#undef EMU_M68K\r
-#include <pico/pico_int.h>\r
+#include <pico/memory.h>\r
#endif\r
\r
#ifndef ALIGN_DATA\r
\r
for (i = 0; i < CZ80_FETCH_BANK; i++)\r
{\r
- CPU->Fetch[i] = (UINT32)cz80_bad_address;\r
+ CPU->Fetch[i] = (FPTR)cz80_bad_address;\r
#if CZ80_ENCRYPTED_ROM\r
CPU->OPFetch[i] = 0;\r
#endif\r
\r
void Cz80_Reset(cz80_struc *CPU)\r
{\r
- memset(CPU, 0, (INT32)&CPU->BasePC - (INT32)CPU);\r
+ memset(CPU, 0, (FPTR)&CPU->BasePC - (FPTR)CPU);\r
Cz80_Set_Reg(CPU, CZ80_PC, 0);\r
}\r
\r
#if PICODRIVE_HACKS\r
static inline unsigned char picodrive_read(unsigned short a)\r
{\r
- unsigned long v = z80_read_map[a >> Z80_MEM_SHIFT];\r
- if (v & 0x80000000)\r
+ uptr v = z80_read_map[a >> Z80_MEM_SHIFT];\r
+ if (map_flag_set(v))\r
return ((z80_read_f *)(v << 1))(a);\r
return *(unsigned char *)((v << 1) + a);\r
}\r
#include "cz80jmp.c"\r
#endif\r
\r
- UINT32 PC;\r
+ FPTR PC;\r
#if CZ80_ENCRYPTED_ROM\r
- INT32 OPBase;\r
+ FPTR OPBase;\r
#endif\r
UINT32 Opcode;\r
UINT32 adr = 0;\r
\r
if (state != CLEAR_LINE)\r
{\r
- UINT32 PC = CPU->PC;\r
+ FPTR PC = CPU->PC;\r
#if CZ80_ENCRYPTED_ROM\r
- INT32 OPBase = CPU->OPBase;\r
+ FPTR OPBase = CPU->OPBase;\r
#endif\r
\r
CPU->IRQLine = line;\r
case CZ80_R: zR = val; break;\r
case CZ80_I: zI = val; break;\r
case CZ80_IM: zIM = val; break;\r
- case CZ80_IFF1: zIFF1 = val; break;\r
- case CZ80_IFF2: zIFF2 = val; break;\r
+ case CZ80_IFF1: zIFF1 = val ? (1 << 2) : 0; break;\r
+ case CZ80_IFF2: zIFF2 = val ? (1 << 2) : 0; break;\r
case CZ80_HALT: CPU->HaltState = val; break;\r
case CZ80_IRQ: CPU->IRQState = val; break;\r
default: break;\r
\83t\83F\83b\83`\83A\83h\83\8c\83X\90Ý\92è\r
--------------------------------------------------------*/\r
\r
-void Cz80_Set_Fetch(cz80_struc *CPU, UINT32 low_adr, UINT32 high_adr, UINT32 fetch_adr)\r
+void Cz80_Set_Fetch(cz80_struc *CPU, UINT32 low_adr, UINT32 high_adr, FPTR fetch_adr)\r
{\r
int i, j;\r
\r