region detection, cd states wip, fixes, stuff
[picodrive.git] / Pico / PicoInt.h
index c85b99f..2be566b 100644 (file)
@@ -23,10 +23,11 @@ extern "C" {
 // ----------------------- 68000 CPU -----------------------\r
 #ifdef EMU_C68K\r
 #include "../cpu/Cyclone/Cyclone.h"\r
-extern struct Cyclone PicoCpu;\r
+extern struct Cyclone PicoCpu, PicoCpuS68k;\r
 #define SekCyclesLeft PicoCpu.cycles // cycles left for this run\r
 #define SekSetCyclesLeft(c) PicoCpu.cycles=c\r
 #define SekPc (PicoCpu.pc-PicoCpu.membase)\r
+#define SekPcS68k (PicoCpuS68k.pc-PicoCpuS68k.membase)\r
 #endif\r
 \r
 #ifdef EMU_A68K\r
@@ -167,7 +168,9 @@ struct mcd_misc
 {\r
        unsigned short hint_vector;\r
        unsigned char  busreq;\r
-       unsigned char  pad0;\r
+       unsigned char  s68k_pend_ints;\r
+       unsigned int   state_flags;     // emu state: reset_pending,\r
+       unsigned int   counter75hz;\r
 \r
 };\r
 \r
@@ -190,6 +193,13 @@ typedef struct
 \r
 #define Pico_mcd ((mcd_state *)Pico.rom)\r
 \r
+// Area.c\r
+int PicoAreaPackCpu(unsigned char *cpu, int is_sub);\r
+int PicoAreaUnpackCpu(unsigned char *cpu, int is_sub);\r
+\r
+// cd/Area.c\r
+int PicoCdSaveState(void *file);\r
+int PicoCdLoadState(void *file);\r
 \r
 // Draw.c\r
 int PicoLine(int scan);\r
@@ -201,15 +211,16 @@ void PicoFrameFull();
 // Memory.c\r
 int PicoInitPc(unsigned int pc);\r
 unsigned int CPU_CALL PicoRead32(unsigned int a);\r
-int  PicoMemInit();\r
+void PicoMemSetup();\r
 void PicoMemReset();\r
-void PicoDasm(int start,int len);\r
+//void PicoDasm(int start,int len);\r
 unsigned char z80_read(unsigned short a);\r
 unsigned short z80_read16(unsigned short a);\r
 void z80_write(unsigned char data, unsigned short a);\r
 void z80_write16(unsigned short data, unsigned short a);\r
 \r
 // cd/Memory.c\r
+void PicoMemSetupCD();\r
 unsigned char  PicoReadCD8 (unsigned int a);\r
 unsigned short PicoReadCD16(unsigned int a);\r
 unsigned int   PicoReadCD32(unsigned int a);\r