bugfixes, adjusted famec timing

git-svn-id: file:///home/notaz/opt/svn/PicoDrive@283 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-10-28 20:23:15 +00:00
parent 80db44425a
commit 03e4f2a349
15 changed files with 324 additions and 344 deletions

View file

@ -54,10 +54,20 @@
static int PicoFrameHints(void)
{
struct PicoVideo *pv=&Pico.video;
int lines,y,lines_vis = 224,total_z80 = 0,z80CycleAim = 0,line_sample;
int skip=PicoSkipFrame || (PicoOpt&0x10);
int lines, y, lines_vis = 224, total_z80 = 0, z80CycleAim = 0, line_sample, skip;
int hint; // Hint counter
if ((PicoOpt&0x10) && !PicoSkipFrame) {
// draw a frame just after vblank in alternative render mode
// yes, this will cause 1 frame lag, but this is inaccurate mode anyway.
PicoFrameFull();
#ifdef DRAW_FINISH_FUNC
DRAW_FINISH_FUNC();
#endif
skip = 1;
}
else skip=PicoSkipFrame;
if (Pico.m.pal) {
//cycles_68k = (int) ((double) OSC_PAL / 7 / 50 / 312 + 0.4); // should compile to a constant (488)
//cycles_z80 = (int) ((double) OSC_PAL / 15 / 50 / 312 + 0.4); // 228
@ -140,7 +150,8 @@ static int PicoFrameHints(void)
}
#ifdef DRAW_FINISH_FUNC
DRAW_FINISH_FUNC();
if (!skip)
DRAW_FINISH_FUNC();
#endif
// V-int line (224 or 240)
@ -223,10 +234,6 @@ static int PicoFrameHints(void)
#endif
}
// draw a frame just after vblank in alternative render mode
if (!PicoSkipFrame && (PicoOpt&0x10))
PicoFrameFull();
return 0;
}