diff --git a/src/gui/mainwindow/MainWindow.ui b/src/gui/mainwindow/MainWindow.ui
index e9240e0d..93a83c35 100644
--- a/src/gui/mainwindow/MainWindow.ui
+++ b/src/gui/mainwindow/MainWindow.ui
@@ -108,6 +108,7 @@
+
@@ -164,6 +165,7 @@
+
@@ -405,6 +407,23 @@
Ctrl+0
+
+
+ true
+
+
+ 2&5 instructions per second
+
+
+ 25x
+
+
+ Run CPU in speed of 25 instructions per second
+
+
+ Ctrl+F5
+
+
true
diff --git a/src/gui/mainwindow/mainwindow.cpp b/src/gui/mainwindow/mainwindow.cpp
index 5d5f162e..d79b3bc0 100644
--- a/src/gui/mainwindow/mainwindow.cpp
+++ b/src/gui/mainwindow/mainwindow.cpp
@@ -131,6 +131,7 @@ MainWindow::MainWindow(QSettings *settings, QWidget *parent)
speed_group->addAction(ui->ips2);
speed_group->addAction(ui->ips5);
speed_group->addAction(ui->ips10);
+ speed_group->addAction(ui->ips25);
speed_group->addAction(ui->ipsUnlimited);
speed_group->addAction(ui->ipsMax);
ui->ips1->setChecked(true);
@@ -166,6 +167,7 @@ MainWindow::MainWindow(QSettings *settings, QWidget *parent)
connect(ui->ips2, &QAction::toggled, this, &MainWindow::set_speed);
connect(ui->ips5, &QAction::toggled, this, &MainWindow::set_speed);
connect(ui->ips10, &QAction::toggled, this, &MainWindow::set_speed);
+ connect(ui->ips25, &QAction::toggled, this, &MainWindow::set_speed);
connect(ui->ipsUnlimited, &QAction::toggled, this, &MainWindow::set_speed);
connect(ui->ipsMax, &QAction::toggled, this, &MainWindow::set_speed);
@@ -481,6 +483,8 @@ void MainWindow::set_speed() {
machine->set_speed(200);
} else if (ui->ips10->isChecked()) {
machine->set_speed(100);
+ } else if (ui->ips25->isChecked()) {
+ machine->set_speed(40);
} else if (ui->ipsMax->isChecked()) {
machine->set_speed(0, 100);
} else {