idle loop detection (Cyclone only, with debug stuff)
[picodrive.git] / Pico / PicoInt.h
index 4ac115f..bd9122a 100644 (file)
@@ -259,9 +259,9 @@ struct PicoMisc
   unsigned char  eeprom_cycle; // EEPROM SRAM cycle number\r
   unsigned char  eeprom_slave; // EEPROM slave word for X24C02 and better SRAMs\r
   unsigned char prot_bytes[2]; // simple protection faking\r
-  unsigned short dma_xfers;\r
+  unsigned short dma_xfers;    // 18\r
   unsigned char pad[2];\r
-  unsigned int  frame_count; // mainly for movies\r
+  unsigned int  frame_count;   // 1c for movies and idle det\r
 };\r
 \r
 // some assembly stuff depend on these, do not touch!\r
@@ -461,6 +461,8 @@ PICO_INTERNAL int SekInit(void);
 PICO_INTERNAL int SekReset(void);\r
 PICO_INTERNAL void SekState(int *data);\r
 PICO_INTERNAL void SekSetRealTAS(int use_real);\r
+void SekInitIdleDet(void);\r
+void SekFinishIdleDet(void);\r
 \r
 // cd/Sek.c\r
 PICO_INTERNAL int SekInitS68k(void);\r
@@ -557,6 +559,7 @@ extern int PsndDacLine;
 #define EL_CDPOLL  0x00002000 /* MCD: log poll detection */\r
 #define EL_SVP     0x00004000 /* SVP stuff */\r
 #define EL_PICOHW  0x00008000 /* Pico stuff */\r
+#define EL_IDLE    0x00010000 /* idle loop det. */\r
 \r
 #define EL_STATUS  0x40000000 /* status messages */\r
 #define EL_ANOMALY 0x80000000 /* some unexpected conditions (during emulation) */\r