#define SekCyclesDoneS68k() (SekCycleAimS68k-SekCyclesLeftS68k)\r
\r
#ifdef EMU_CORE_DEBUG\r
+extern int dbg_irq_level;\r
#undef SekSetCyclesLeftNoMCD\r
#undef SekSetCyclesLeft\r
#undef SekCyclesBurn\r
#undef SekEndRun\r
+#undef SekInterrupt\r
#define SekSetCyclesLeftNoMCD(c)\r
#define SekSetCyclesLeft(c)\r
#define SekCyclesBurn(c) c\r
#define SekEndRun(c)\r
+#define SekInterrupt(irq) dbg_irq_level=irq\r
#endif\r
\r
// ----------------------- Z80 CPU -----------------------\r
// ---------------------------------------------------------\r
\r
// Pico active hw\r
-#define PAHW_MCD (1<<0)\r
-#define PAHW_32X (1<<1)\r
-#define PAHW_SVP (1<<2)\r
+#define PAHW_MCD (1<<0)\r
+#define PAHW_32X (1<<1)\r
+#define PAHW_SVP (1<<2)\r
+#define PAHW_PICO (1<<3)\r
extern int PicoAHW;\r
\r
// main oscillator clock which controls timing\r
unsigned short z80_bank68k; // 0a\r
unsigned short z80_lastaddr; // this is for Z80 faking\r
unsigned char z80_fakeval;\r
- unsigned char pad0;\r
+ unsigned char z80_reset; // z80 reset held\r
unsigned char padDelay[2]; // 10 gamepad phase time outs, so we count a delay\r
unsigned short eeprom_addr; // EEPROM address register\r
unsigned char eeprom_cycle; // EEPROM SRAM cycle number\r
unsigned char s68k_pend_ints;\r
unsigned int state_flags; // 04: emu state: reset_pending, dmna_pending\r
unsigned int counter75hz;\r
- unsigned short audio_offset; // 0c: for savestates: play pointer offset (0-1023)\r
- unsigned char audio_track; // playing audio track # (zero based)\r
- char pad1;\r
+ unsigned int pad0;\r
int timer_int3; // 10\r
unsigned int timer_stopwatch;\r
unsigned char bcram_reg; // 18: battery-backed RAM cart register\r
PICO_INTERNAL_ASM void PicoMemResetCD(int r3);\r
PICO_INTERNAL_ASM void PicoMemResetCDdecode(int r3);\r
\r
+// Pico/Memory.c\r
+PICO_INTERNAL void PicoMemSetupPico(void);\r
+\r
// Pico.c\r
extern struct Pico Pico;\r
extern struct PicoSRAM SRam;\r
PICO_INTERNAL int PicoResetMCD(void);\r
PICO_INTERNAL int PicoFrameMCD(void);\r
\r
+// Pico/Pico.c\r
+PICO_INTERNAL int PicoInitPico(void);\r
+\r
// Sek.c\r
PICO_INTERNAL int SekInit(void);\r
PICO_INTERNAL int SekReset(void);\r
PICO_INTERNAL int SekInterruptS68k(int irq);\r
\r
// sound/sound.c\r
+PICO_INTERNAL void cdda_start_play();\r
+extern short cdda_out_buffer[2*1152];\r
extern int PsndLen_exc_cnt;\r
extern int PsndLen_exc_add;\r
\r