port to 64bit. Some gcc 4.4 warning fixes
[picodrive.git] / cpu / cz80 / cz80.h
index 4e84642..9b97d3b 100644 (file)
@@ -43,6 +43,10 @@ extern "C" {
 #define INT32  signed int\r
 #endif\r
 \r
+#ifndef FPTR\r
+#define FPTR   unsigned long\r
+#endif\r
+\r
 /*************************************/\r
 /* Z80 core Structures & definitions */\r
 /*************************************/\r
@@ -222,7 +226,7 @@ typedef struct cz80_t
        union16 IX;\r
        union16 IY;\r
        union16 SP;\r
-       UINT32 PC;\r
+       UINT32 unusedPC;        /* left for binary compat */\r
 \r
        union16 BC2;\r
        union16 DE2;\r
@@ -242,11 +246,12 @@ typedef struct cz80_t
        INT32 ICount;\r
        INT32 ExtraCycles;\r
 \r
-       UINT32 BasePC;\r
-       UINT32 Fetch[CZ80_FETCH_BANK];\r
+       FPTR BasePC;\r
+       FPTR PC;\r
+       FPTR Fetch[CZ80_FETCH_BANK];\r
 #if CZ80_ENCRYPTED_ROM\r
-       INT32 OPBase;\r
-       INT32 OPFetch[CZ80_FETCH_BANK];\r
+       FPTR OPBase;\r
+       FPTR OPFetch[CZ80_FETCH_BANK];\r
 #endif\r
 \r
        UINT8 *pzR8[8];\r
@@ -284,7 +289,7 @@ void Cz80_Set_IRQ(cz80_struc *CPU, INT32 line, INT32 state);
 UINT32  Cz80_Get_Reg(cz80_struc *CPU, INT32 regnum);\r
 void Cz80_Set_Reg(cz80_struc *CPU, INT32 regnum, UINT32 value);\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
 #if CZ80_ENCRYPTED_ROM\r
 void Cz80_Set_Encrypt_Range(cz80_struc *CPU, UINT32 low_adr, UINT32 high_adr, UINT32 decrypted_rom);\r
 #endif\r