drc: lots of new debug code
[picodrive.git] / pico / pico.h
index 6c6e7c5..667b6c2 100644 (file)
@@ -37,6 +37,7 @@ extern void cache_flush_d_inval_i(void *start_addr, void *end_addr);
 extern void *plat_mmap(unsigned long addr, size_t size, int need_exec, int is_fixed);\r
 extern void *plat_mremap(void *ptr, size_t oldsize, size_t newsize);\r
 extern void  plat_munmap(void *ptr, size_t size);\r
+extern int   plat_mem_set_exec(void *ptr, size_t size);\r
 \r
 // this one should handle display mode changes\r
 extern void emu_video_mode_change(int start_line, int line_count, int is_32cols);\r
@@ -211,16 +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\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
+#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