// main 300K gfx-related buffer. Used by menu and renderers.
unsigned char gfx_buffer[321*240*2*2];
-unsigned char *PicoDraw2FB = gfx_buffer; // temporary buffer for alt renderer ( (8+320)*(8+240+8) )
static short *snd_cbuff = NULL;
static int snd_cbuf_samples = 0, snd_all_samples = 0;
if (PicoOpt&0x10) {
} else if (currentConfig.EmuOpt&0x80) {
PicoDrawSetOutFormat(PDF_RGB555, 0);
- PicoScanBegin = EmuScanBegin16;
+ PicoDrawSetCallbacks(EmuScanBegin16, NULL);
} else {
PicoDrawSetOutFormat(PDF_NONE, 0);
- PicoScanBegin = EmuScanBegin8;
+ PicoDrawSetCallbacks(EmuScanBegin8, NULL);
}
if ((PicoOpt&0x10) || !(currentConfig.EmuOpt&0x80)) {
// setup pal for 8-bit modes
static void updateSound(int len)
{
- if (PicoOpt&8) len<<=1;
-
- snd_all_samples += len;
- PsndOut += len;
+ snd_all_samples += len / 2;
+ PsndOut += len / 2;
if (PsndOut - snd_cbuff >= snd_cbuf_samples)
{
//if (PsndOut - snd_cbuff != snd_cbuf_samples)
}
/* forced frame to front buffer */
-void pemu_forced_frame(int opts, int no_scale)
+void pemu_forced_frame(int no_scale, int do_emu)
{
int po_old = PicoOpt;
int eo_old = currentConfig.EmuOpt;
PicoOpt &= ~0x10;
- PicoOpt |= opts|POPT_ACC_SPRITES;
+ PicoOpt |= POPT_ACC_SPRITES;
+ if (!no_scale)
+ PicoOpt |= POPT_EN_SOFTSCALE;
currentConfig.EmuOpt |= 0x80;
if (giz_screen == NULL)
giz_screen = fb_lock(1);
PicoDrawSetOutFormat(PDF_RGB555, 0);
- PicoScanBegin = EmuScanBegin16;
+ PicoDrawSetCallbacks(EmuScanBegin16, NULL);
Pico.m.dirtyPal = 1;
PicoFrameDrawOnly();