// JPM Oct./2018 Added search paths in the settings, breakpoints feature, cartridge view menu\r
// JPM 11/18/2018 Fix crash with non-debugger mode\r
// JPM April/2019 Added ELF sections check, added a save memory dump\r
-// JPM Aug./2019 Update texts descriptions, set cartridge view menu for debugger mode only\r
+// JPM Aug./2019 Update texts descriptions, set cartridge view menu for debugger mode only, added a HW registers browser\r
//\r
\r
// FIXED:\r
#include "debug/stackbrowser.h"\r
#include "debug/opbrowser.h"\r
#include "debug/riscdasmbrowser.h"\r
+#include "debug/hwregsbrowser.h"\r
\r
#include "dac.h"\r
#include "jaguar.h"\r
opBrowseWin = new OPBrowserWindow(this);\r
m68kDasmBrowseWin = new M68KDasmBrowserWindow(this);\r
riscDasmBrowseWin = new RISCDasmBrowserWindow(this);\r
+ hwRegsBrowseWin = new HWRegsBrowserWindow(this);\r
\r
// Windows debugger mode features\r
if (vjs.softTypeDebugger)\r
m68kDasmBrowseAct->setStatusTip(tr("Shows the 68K disassembly browser window"));\r
connect(m68kDasmBrowseAct, SIGNAL(triggered()), this, SLOT(ShowM68KDasmBrowserWin()));\r
\r
+ // HW registers browser window\r
+ hwRegsBrowseAct = new QAction(QIcon(":/res/tool-hw-regs.png"), tr("HW Registers Browser"), this);\r
+ hwRegsBrowseAct->setStatusTip(tr("Shows the HW registers browser window"));\r
+ connect(hwRegsBrowseAct, SIGNAL(triggered()), this, SLOT(ShowHWRegsBrowserWin()));\r
+\r
// Risc (DSP / GPU) disassembly browser window\r
riscDasmBrowseAct = new QAction(QIcon(":/res/tool-risc-dis.png"), tr("RISC Listing Browser"), this);\r
riscDasmBrowseAct->setStatusTip(tr("Shows the RISC disassembly browser window"));\r
debugWindowsBrowsesMenu->addAction(opBrowseAct);\r
debugWindowsBrowsesMenu->addAction(m68kDasmBrowseAct);\r
debugWindowsBrowsesMenu->addAction(riscDasmBrowseAct);\r
+ debugWindowsBrowsesMenu->addAction(hwRegsBrowseAct);\r
debugMenu->addSeparator();\r
debugMenu->addAction(pauseAct);\r
debugMenu->addAction(frameAdvanceAct);\r
debugMenu->addAction(opBrowseAct);\r
debugMenu->addAction(m68kDasmBrowseAct);\r
debugMenu->addAction(riscDasmBrowseAct);\r
+ debugMenu->addAction(hwRegsBrowseAct);\r
}\r
}\r
\r
debugbar->addAction(opBrowseAct);\r
debugbar->addAction(m68kDasmBrowseAct);\r
debugbar->addAction(riscDasmBrowseAct);\r
+ debugbar->addAction(hwRegsBrowseAct);\r
}\r
\r
// Add actions to the main window, as hiding widgets with them\r
}\r
\r
\r
+// Show the OP browser window\r
void MainWin::ShowOPBrowserWin(void)\r
{\r
opBrowseWin->show();\r
}\r
\r
\r
+// Show the HW registers browser window\r
+void MainWin::ShowHWRegsBrowserWin(void)\r
+{\r
+ hwRegsBrowseWin->show();\r
+ hwRegsBrowseWin->RefreshContents();\r
+}\r
+\r
+\r
+// Show the M68K browser window\r
void MainWin::ShowM68KDasmBrowserWin(void)\r
{\r
m68kDasmBrowseWin->show();\r
size = settings.value("opBrowseWinSize", QSize(400, 400)).toSize();\r
opBrowseWin->resize(size);\r
\r
+ // HW registers UI information\r
+ pos = settings.value("hwRegsBrowseWinPos", QPoint(200, 200)).toPoint();\r
+ hwRegsBrowseWin->move(pos);\r
+ settings.value("hwRegsBrowseWinIsVisible", false).toBool() ? ShowHWRegsBrowserWin() : void();\r
+ size = settings.value("hwRegsBrowseWinSize", QSize(400, 400)).toSize();\r
+ hwRegsBrowseWin->resize(size);\r
+\r
// RISC disassembly UI information\r
pos = settings.value("riscDasmBrowseWinPos", QPoint(200, 200)).toPoint();\r
riscDasmBrowseWin->move(pos);\r
settings.setValue("opBrowseWinPos", opBrowseWin->pos());\r
settings.setValue("opBrowseWinIsVisible", opBrowseWin->isVisible());\r
settings.setValue("opBrowseWinSize", opBrowseWin->size());\r
+ settings.setValue("hwRegsBrowseWinPos", hwRegsBrowseWin->pos());\r
+ settings.setValue("hwRegsBrowseWinIsVisible", hwRegsBrowseWin->isVisible());\r
+ settings.setValue("hwRegsBrowseWinSize", hwRegsBrowseWin->size());\r
settings.setValue("riscDasmBrowseWinPos", riscDasmBrowseWin->pos());\r
settings.setValue("riscDasmBrowseWinIsVisible", riscDasmBrowseWin->isVisible());\r
settings.setValue("m68kDasmBrowseWinPos", m68kDasmBrowseWin->pos());\r
opBrowseWin->RefreshContents();\r
riscDasmBrowseWin->RefreshContents();\r
m68kDasmBrowseWin->RefreshContents();\r
+ hwRegsBrowseWin->RefreshContents();\r
}\r
\r
\r