diff --git a/output/dll/libvbanext.dll b/output/dll/libvbanext.dll index 3455288c6e..4c70fc0587 100644 Binary files a/output/dll/libvbanext.dll and b/output/dll/libvbanext.dll differ diff --git a/vbanext/instance.cpp b/vbanext/instance.cpp index fefbc91f6b..15abdd09f0 100644 --- a/vbanext/instance.cpp +++ b/vbanext/instance.cpp @@ -12505,7 +12505,7 @@ void CPUInterrupt(void) void CPULoop (void) { bus.busPrefetchCount = 0; - int ticks = 50000; + int ticks = 300000; int timerOverflow = 0; // variable used by the CPU core cpuTotalTicks = 0; @@ -12514,6 +12514,7 @@ void CPULoop (void) if(cpuNextEvent > ticks) cpuNextEvent = ticks; + bool framedone = false; do { @@ -12641,6 +12642,7 @@ updateLoop: systemDrawScreen(); process_sound_tick_fn(); + framedone = true; } UPDATE_REG(0x04, io_registers[REG_DISPSTAT]); @@ -12916,7 +12918,7 @@ updateLoop: if(cpuNextEvent > ticks) cpuNextEvent = ticks; - if(ticks <= 0) + if(ticks <= 0 || framedone) break; }