#define _GNU_SOURCE 1 // mremap
#include <stdio.h>
+#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#ifndef _WIN32
{ "picodrive_region", "Region; Auto|Japan NTSC|Japan PAL|US|Europe" },
{ "picodrive_aspect", "Core-provided aspect ratio; PAR|4/3|CRT" },
{ "picodrive_overscan", "Show Overscan; disabled|enabled" },
+ { "picodrive_overclk68k", "68k overclock; disabled|+25%|+50%|+75%|+100%|+200%|+400%" },
#ifdef DRC_SH2
{ "picodrive_drc", "Dynamic recompilers; enabled|disabled" },
#endif
PicoLoopPrepare();
- PicoWriteSound = snd_write;
+ PicoIn.writeSound = snd_write;
memset(sndBuffer, 0, sizeof(sndBuffer));
- PsndOut = sndBuffer;
+ PicoIn.sndOut = sndBuffer;
PsndRerate(0);
return true;
static void snd_write(int len)
{
- audio_batch_cb(PsndOut, len / 4);
+ audio_batch_cb(PicoIn.sndOut, len / 4);
}
static enum input_device input_name_to_val(const char *name)
environ_cb(RETRO_ENVIRONMENT_SET_GEOMETRY, &av_info);
}
+ var.value = NULL;
+ var.key = "picodrive_overclk68k";
+ if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) {
+ PicoIn.overclockM68k = 0;
+ if (var.value[0] == '+')
+ PicoIn.overclockM68k = atoi(var.value + 1);
+ }
+
#ifdef DRC_SH2
var.value = NULL;
var.key = "picodrive_drc";
#endif
PicoIn.opt |= POPT_EN_DRC;
#endif
- PsndRate = 44100;
+ PicoIn.sndRate = 44100;
PicoIn.autoRgnOrder = 0x184; // US, EU, JP
vout_width = 320;
PicoDrawSetOutFormat(PDF_RGB555, 0);
PicoDrawSetOutBuf(vout_buf, vout_width * 2);
- //PicoMessage = plat_status_msg_busy_next;
- PicoMCDopenTray = disk_tray_open;
- PicoMCDcloseTray = disk_tray_close;
+ //PicoIn.osdMessage = plat_status_msg_busy_next;
+ PicoIn.mcdTrayOpen = disk_tray_open;
+ PicoIn.mcdTrayClose = disk_tray_close;
update_variables();
}