2 // emustatus.cpp - Jaguar emulator status
6 // JPM = Jean-Paul Mari <djipi.mari@gmail.com>
9 // --- ---------- -----------------------------------------------------------
10 // JPM 02/02/2017 Created this file
11 // JPM Apr./2021 Display number of M68K cycles used in tracing mode
17 #include "emustatus.h"
20 #include "m68000/m68kinterface.h"
26 EmuStatusWindow::EmuStatusWindow(QWidget
* parent
/*= 0*/) : QWidget(parent
, Qt::Dialog
),
27 layout(new QVBoxLayout
),
28 resetcycles(new QPushButton(tr("Reset cycles"))),
32 GPURunning(GPUIsRunning())
34 setWindowTitle(tr("Emulator status"));
36 QFont
fixedFont("Lucida Console", 8, QFont::Normal
);
37 fixedFont
.setStyleHint(QFont::TypeWriter
);
38 text
->setFont(fixedFont
);
41 layout
->addWidget(text
);
42 layout
->addWidget(resetcycles
);
44 connect(resetcycles
, SIGNAL(clicked()), this, SLOT(ResetCycles()));
49 void EmuStatusWindow::ResetCycles(void)
57 void EmuStatusWindow::ResetM68KCycles(void)
59 M68K_totalcycles
= M68K_opcodecycles
= 0;
64 void EmuStatusWindow::UpdateM68KCycles(size_t cycles
)
66 M68K_totalcycles
+= (M68K_opcodecycles
= cycles
);
71 void EmuStatusWindow::RefreshContents(void)
74 QString emuStatusDump
;
80 GPURunning
= GPUIsRunning();
81 sprintf(string
, " GPU active | %s\n", (GPURunning
? "Yes" : "No"));
82 emuStatusDump
+= QString(string
);
83 M68000DebugHaltStatus
= M68KDebugHaltStatus();
84 sprintf(string
, "M68K debugger status | %s\n", (M68000DebugHaltStatus
? "Halt" : "Run"));
85 emuStatusDump
+= QString(string
);
86 sprintf(string
, " M68K tracing | %s\n", (startM68KTracing
? "On" : "Off"));
87 emuStatusDump
+= QString(string
);
88 sprintf(string
, " DRAM | %zi KB\n", (vjs
.DRAM_size
/ 1024));
89 emuStatusDump
+= QString(string
);
90 sprintf(string
, " M68K tracing | %zi cycle%s\n", M68K_opcodecycles
, (M68K_opcodecycles
? "s" : ""));
91 emuStatusDump
+= QString(string
);
92 sprintf(string
, " M68K tracing total | %zi cycle%s", M68K_totalcycles
, (M68K_totalcycles
? "s" : ""));
93 emuStatusDump
+= QString(string
);
95 text
->setText(emuStatusDump
);
101 void EmuStatusWindow::keyPressEvent(QKeyEvent
* e
)
103 if (e
->key() == Qt::Key_Escape
)