X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2FPicoInt.h;h=2be566bdd5cc5bc44f561527dd516eb1881b61d3;hb=51a902ae2512cffdb3ac7751988c1bde4a641be4;hp=c85b99f74b05cbba933a59ea5609d39b4ac9f913;hpb=d1df87866b45a5ab9f1b6c6c8a40da6a3a777f83;p=picodrive.git diff --git a/Pico/PicoInt.h b/Pico/PicoInt.h index c85b99f..2be566b 100644 --- a/Pico/PicoInt.h +++ b/Pico/PicoInt.h @@ -23,10 +23,11 @@ extern "C" { // ----------------------- 68000 CPU ----------------------- #ifdef EMU_C68K #include "../cpu/Cyclone/Cyclone.h" -extern struct Cyclone PicoCpu; +extern struct Cyclone PicoCpu, PicoCpuS68k; #define SekCyclesLeft PicoCpu.cycles // cycles left for this run #define SekSetCyclesLeft(c) PicoCpu.cycles=c #define SekPc (PicoCpu.pc-PicoCpu.membase) +#define SekPcS68k (PicoCpuS68k.pc-PicoCpuS68k.membase) #endif #ifdef EMU_A68K @@ -167,7 +168,9 @@ struct mcd_misc { unsigned short hint_vector; unsigned char busreq; - unsigned char pad0; + unsigned char s68k_pend_ints; + unsigned int state_flags; // emu state: reset_pending, + unsigned int counter75hz; }; @@ -190,6 +193,13 @@ typedef struct #define Pico_mcd ((mcd_state *)Pico.rom) +// Area.c +int PicoAreaPackCpu(unsigned char *cpu, int is_sub); +int PicoAreaUnpackCpu(unsigned char *cpu, int is_sub); + +// cd/Area.c +int PicoCdSaveState(void *file); +int PicoCdLoadState(void *file); // Draw.c int PicoLine(int scan); @@ -201,15 +211,16 @@ void PicoFrameFull(); // Memory.c int PicoInitPc(unsigned int pc); unsigned int CPU_CALL PicoRead32(unsigned int a); -int PicoMemInit(); +void PicoMemSetup(); void PicoMemReset(); -void PicoDasm(int start,int len); +//void PicoDasm(int start,int len); unsigned char z80_read(unsigned short a); unsigned short z80_read16(unsigned short a); void z80_write(unsigned char data, unsigned short a); void z80_write16(unsigned short data, unsigned short a); // cd/Memory.c +void PicoMemSetupCD(); unsigned char PicoReadCD8 (unsigned int a); unsigned short PicoReadCD16(unsigned int a); unsigned int PicoReadCD32(unsigned int a);