idle loops adjusted
[picodrive.git] / Pico / Pico.c
index 5684e99..b5e4e28 100644 (file)
@@ -171,16 +171,16 @@ int PicoReset(void)
   if (Pico.m.dma_xfers == 0 && !(PicoOpt&POPT_DIS_VDP_FIFO))\r
     Pico.m.dma_xfers = rand() & 0x1fff;\r
 \r
+  SekFinishIdleDet();\r
+\r
   if (PicoAHW & PAHW_MCD) {\r
     PicoResetMCD();\r
     return 0;\r
   }\r
-  else {\r
-    // reinit, so that checksum checks pass\r
-    SekFinishIdleDet();\r
-    if (!(PicoOpt & POPT_DIS_IDLE_DET))\r
-      SekInitIdleDet();\r
-  }\r
+\r
+  // reinit, so that checksum checks pass\r
+  if (!(PicoOpt & POPT_DIS_IDLE_DET))\r
+    SekInitIdleDet();\r
 \r
   // reset sram state; enable sram access by default if it doesn't overlap with ROM\r
   Pico.m.sram_reg=sram_reg&0x14;\r
@@ -315,6 +315,21 @@ void PicoFrame(void)
 {\r
   Pico.m.frame_count++;\r
 \r
+#if 0\r
+  if ((Pico.m.frame_count & 0x3f) == 0)\r
+  {\r
+    extern int idlehit_addrs[], idlehit_counts[];\r
+    int i;\r
+    printf("--\n");\r
+    for (i = 0; i < 128 && idlehit_addrs[i] != 0; i++) {\r
+      if (idlehit_counts[i] != 0) {\r
+        printf("%06x %i %i\n", idlehit_addrs[i], idlehit_counts[i],  idlehit_counts[i] >> 6);\r
+        idlehit_counts[i] = 0;\r
+      }\r
+    }\r
+  }\r
+#endif\r
+\r
   if (PicoAHW & PAHW_MCD) {\r
     PicoFrameMCD();\r
     return;\r