\r
#include <stdlib.h> // size_t\r
\r
-// port-specific compile-time settings\r
-#include <port_config.h>\r
-\r
#ifdef __cplusplus\r
extern "C" {\r
#endif\r
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
PDF_RGB555, // RGB/BGR output, depends on compile options\r
PDF_8BIT, // 8-bit out (handles shadow/hilight mode, sonic water)\r
} pdso_t;\r
-void PicoDrawSetOutFormat(pdso_t which, int allow_32x);\r
+void PicoDrawSetOutFormat(pdso_t which, int use_32x_line_mode);\r
void PicoDrawSetOutBuf(void *dest, int increment);\r
void PicoDrawSetCallbacks(int (*begin)(unsigned int num), int (*end)(unsigned int num));\r
extern void *DrawLineDest;\r
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
-\r
-// 32x/draw.c\r
-void PicoDraw32xSetFrameMode(int is_on, int only_32x);\r
+#ifndef NO_32X\r
+\r
+void Pico32xSetClocks(int msh2_hz, int ssh2_hz);\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