famec: fix 64bit portability issues
[picodrive.git] / cpu / fame / fame.h
index 1195593..f05acc7 100644 (file)
@@ -18,13 +18,13 @@ extern "C" {
 #define M68K_FETCHBANK1 (1 << FAMEC_FETCHBITS)\r
 \r
 //#define M68K_RUNNING    0x01\r
-#define M68K_HALTED     0x80\r
-#define M68K_WAITING    0x04\r
-#define M68K_DISABLE    0x20\r
-#define M68K_FAULTED    0x40\r
-#define M68K_EMULATE_GROUP_0  0x02\r
-#define M68K_EMULATE_TRACE    0x08\r
-#define M68K_DO_TRACE    0x10\r
+#define FM68K_HALTED     0x80\r
+//#define M68K_WAITING    0x04\r
+//#define M68K_DISABLE    0x20\r
+//#define M68K_FAULTED    0x40\r
+#define FM68K_EMULATE_GROUP_0  0x02\r
+#define FM68K_EMULATE_TRACE    0x08\r
+#define FM68K_DO_TRACE    0x10\r
 \r
 \r
 /************************************/\r
@@ -92,29 +92,6 @@ extern "C" {
 /* Data definition */\r
 /*******************/\r
 \r
-/* M68K registers */\r
-typedef enum {\r
-      M68K_REG_D0=0,\r
-      M68K_REG_D1,\r
-      M68K_REG_D2,\r
-      M68K_REG_D3,\r
-      M68K_REG_D4,\r
-      M68K_REG_D5,\r
-      M68K_REG_D6,\r
-      M68K_REG_D7,\r
-      M68K_REG_A0,\r
-      M68K_REG_A1,\r
-      M68K_REG_A2,\r
-      M68K_REG_A3,\r
-      M68K_REG_A4,\r
-      M68K_REG_A5,\r
-      M68K_REG_A6,\r
-      M68K_REG_A7,\r
-      M68K_REG_ASP,\r
-      M68K_REG_PC,\r
-      M68K_REG_SR\r
-} m68k_register;\r
-\r
 typedef union\r
 {\r
        unsigned char B;\r
@@ -125,21 +102,6 @@ typedef union
        signed int SD;\r
 } famec_union32;\r
 \r
-/* The memory blocks must be in native (Motorola) format */\r
-struct M68K_PROGRAM {\r
-       unsigned low_addr;\r
-       unsigned high_addr;\r
-       unsigned offset;\r
-};\r
-\r
-/* The memory blocks must be in native (Motorola) format */\r
-struct M68K_DATA {\r
-       unsigned low_addr;\r
-       unsigned high_addr;\r
-       void    *mem_handler;\r
-       void    *data;\r
-};\r
-\r
 /* M68K CPU CONTEXT */\r
 typedef struct\r
 {\r
@@ -160,7 +122,7 @@ typedef struct
        unsigned short execinfo;\r
        // PD extension\r
        int            io_cycle_counter; // cycles left\r
-       unsigned int   Fetch[M68K_FETCHBANK1];\r
+       unsigned long  Fetch[M68K_FETCHBANK1];\r
 } M68K_CONTEXT;\r
 \r
 extern M68K_CONTEXT *g_m68kcontext;\r
@@ -170,13 +132,12 @@ extern M68K_CONTEXT *g_m68kcontext;
 /************************/\r
 \r
 /* General purpose functions */\r
-void m68k_init(void);\r
-int  m68k_reset(void);\r
-int  m68k_emulate(int n);\r
+void fm68k_init(void);\r
+int  fm68k_reset(void);\r
+int  fm68k_emulate(int n, int dualcore, int idle_mode);\r
+int  fm68k_would_interrupt(void); // to be called from fm68k_emulate()\r
 \r
-unsigned m68k_get_pc(M68K_CONTEXT *context);\r
-unsigned m68k_get_register(M68K_CONTEXT *context, m68k_register reg);\r
-unsigned m68k_set_register(M68K_CONTEXT *context, m68k_register reg, unsigned value);\r
+unsigned fm68k_get_pc(M68K_CONTEXT *context);\r
 \r
 \r
 #ifdef __cplusplus\r