32x: adjust sh2 cycles again
authornotaz <notasas@gmail.com>
Mon, 1 Jul 2013 21:43:28 +0000 (00:43 +0300)
committernotaz <notasas@gmail.com>
Tue, 2 Jul 2013 01:15:20 +0000 (04:15 +0300)
MK2 doesn't play it's animations if slave is clocked too slow..
the more we underclock slave, the more often animations get stuck
Why does it need so many cycles?

pico/pico.h

index e5e832b..b5d34f3 100644 (file)
@@ -212,12 +212,14 @@ 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\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) * 21 / 10)\r
-#define SSH2_MULTI_DEFAULT ((1 << SH2_MULTI_SHIFT) * 3 / 2)\r
+#define MSH2_MULTI_DEFAULT ((1 << SH2_MULTI_SHIFT) * 3)\r
+#define SSH2_MULTI_DEFAULT ((1 << SH2_MULTI_SHIFT) * 3)\r
 \r
 // 32x/draw.c\r
 void PicoDraw32xSetFrameMode(int is_on, int only_32x);\r