32x: start reworking sheduling
[picodrive.git] / pico / pico.h
index b5d34f3..667b6c2 100644 (file)
@@ -212,18 +212,24 @@ extern unsigned short *PicoCramHigh; // pointer to CRAM buff (0x40 shorts), conv
 extern void (*PicoPrepareCram)();    // prepares PicoCramHigh for renderer to use\r
 \r
 // pico.c (32x)\r
-// multipliers against 68k clock (7670442)\r
-// normally * 3, but effectively slower due to high latencies everywhere\r
-// however using something lower breaks MK2 animations\r
-extern int p32x_msh2_multiplier;\r
-extern int p32x_ssh2_multiplier;\r
-#define SH2_MULTI_SHIFT 10\r
-#define MSH2_MULTI_DEFAULT ((1 << SH2_MULTI_SHIFT) * 3)\r
-#define SSH2_MULTI_DEFAULT ((1 << SH2_MULTI_SHIFT) * 3)\r
+#ifndef NO_32X\r
+\r
+void Pico32xSetClocks(int msh2_hz, int ssh2_hz);\r
 \r
 // 32x/draw.c\r
 void PicoDraw32xSetFrameMode(int is_on, int only_32x);\r
 \r
+#else\r
+\r
+#define Pico32xSetClocks(msh2_khz, ssh2_khz)\r
+\r
+#endif\r
+\r
+// normally 68k clock (7670442) * 3, in reality but much lower\r
+// because of high memory latencies\r
+#define PICO_MSH2_HZ ((int)(7670442.0 * 2.4))\r
+#define PICO_SSH2_HZ ((int)(7670442.0 * 2.4))\r
+\r
 // sound.c\r
 extern int PsndRate,PsndLen;\r
 extern short *PsndOut;\r