UIQ3 update, some makefile unification, rm old configs, stuff
[picodrive.git] / Pico / Pico.c
index 5684e99..296d5d5 100644 (file)
@@ -15,7 +15,7 @@ struct Pico Pico;
 int PicoOpt = 0;\r
 int PicoSkipFrame = 0; // skip rendering frame?\r
 int emustatus = 0;     // rapid_ym2612, multi_ym_updates\r
-int PicoPad[2];        // Joypads, format is SACB RLDU\r
+int PicoPad[2];        // Joypads, format is MXYZ SACB RLDU\r
 int PicoPadInt[2];     // internal copy\r
 int PicoAHW = 0;       // active addon hardware: scd_active, 32x_active, svp_active, pico_active\r
 int PicoRegionOverride = 0; // override the region detection 0: Auto, 1: Japan NTSC, 2: Japan PAL, 4: US, 8: Europe\r
@@ -49,6 +49,7 @@ void PicoExit(void)
 {\r
   if (PicoAHW & PAHW_MCD)\r
     PicoExitMCD();\r
+  PicoCartUnload();\r
   z80_exit();\r
 \r
   if (SRam.data) free(SRam.data); SRam.data=0;\r
@@ -171,16 +172,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 +316,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