|
|
@ -33,19 +33,16 @@ void EmuThread::run()
|
|
|
|
stop_run = false;
|
|
|
|
stop_run = false;
|
|
|
|
while (!stop_run)
|
|
|
|
while (!stop_run)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
for (int tight_loop = 0; tight_loop < 10000; ++tight_loop)
|
|
|
|
if (cpu_running)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (cpu_running || exec_cpu_step)
|
|
|
|
Core::RunLoop();
|
|
|
|
{
|
|
|
|
}
|
|
|
|
if (exec_cpu_step)
|
|
|
|
else if (exec_cpu_step)
|
|
|
|
exec_cpu_step = false;
|
|
|
|
{
|
|
|
|
|
|
|
|
exec_cpu_step = false;
|
|
|
|
Core::SingleStep();
|
|
|
|
Core::SingleStep();
|
|
|
|
if (!cpu_running) {
|
|
|
|
emit CPUStepped();
|
|
|
|
emit CPUStepped();
|
|
|
|
yieldCurrentThread();
|
|
|
|
yieldCurrentThread();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
render_window->moveContext();
|
|
|
|
render_window->moveContext();
|
|
|
|