From c06242f07721a7d86dc2d9795622d6646ae6c88f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Thu, 4 Jan 2018 18:44:28 +0100 Subject: Implement some machine execution speed control for gui --- qtmips_machine/qtmipsmachine.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'qtmips_machine/qtmipsmachine.cpp') diff --git a/qtmips_machine/qtmipsmachine.cpp b/qtmips_machine/qtmipsmachine.cpp index 3d79c7c..a652363 100644 --- a/qtmips_machine/qtmipsmachine.cpp +++ b/qtmips_machine/qtmipsmachine.cpp @@ -35,15 +35,13 @@ QtMipsMachine::QtMipsMachine(const MachineConfig &cc) { else cr = new CoreSingle(regs, coremem, cc.delay_slot()); - run_speed = 1; run_t = new QTimer(this); + set_speed(0); // In default run as fast as possible connect(run_t, SIGNAL(timeout()), this, SLOT(step())); } void QtMipsMachine::set_speed(unsigned val) { - run_speed = val; - if (run_t->isActive()) - play(); + run_t->setInterval(val); } const Registers *QtMipsMachine::registers() { @@ -78,7 +76,7 @@ bool QtMipsMachine::exited() { void QtMipsMachine::play() { CTL_GUARD; set_status(ST_RUNNING); - run_t->start(run_speed); + run_t->start(); } void QtMipsMachine::pause() { -- cgit v1.2.3