// JPM 11/04/2017 Added the local window\r
// JPM 08/31/2018 Added the call stack window\r
// JPM Sept./2018 Added the new Models and BIOS handler, a screenshot feature and source code files browsing\r
-// JPM Oct./2018 Added search paths in the settings, breakpoints feature, cartdridge view menu\r
+// 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
//\r
\r
// FIXED:\r
\r
setWindowTitle(title);\r
\r
+ // Windows common features\r
aboutWin = new AboutWindow(this);\r
helpWin = new HelpWindow(this);\r
filePickWin = new FilePickerWindow(this);\r
+ emuStatusWin = new EmuStatusWindow(this);\r
+ \r
+ // Windows alpine mode features\r
memBrowseWin = new MemoryBrowserWindow(this);\r
stackBrowseWin = new StackBrowserWindow(this);\r
- emuStatusWin = new EmuStatusWindow(this);\r
cpuBrowseWin = new CPUBrowserWindow(this);\r
opBrowseWin = new OPBrowserWindow(this);\r
m68kDasmBrowseWin = new M68KDasmBrowserWindow(this);\r
riscDasmBrowseWin = new RISCDasmBrowserWindow(this);\r
+\r
+ // Windows debugger mode features\r
if (vjs.softTypeDebugger)\r
{\r
//VideoOutputWin = new VideoOutputWindow(this);\r
\r
// Cart files list\r
CartFilesListAct = new QAction(QIcon(""), tr("Directory and files"), this);\r
- CartFilesListAct->setStatusTip(tr("List of the files in the cartdridge's directory"));\r
+ CartFilesListAct->setStatusTip(tr("List of the files in the cartridge's directory structure"));\r
connect(CartFilesListAct, SIGNAL(triggered()), this, SLOT(ShowCartFilesListWin()));\r
\r
// Memory windows\r
// Alpine and debugger menus\r
if (vjs.hardwareTypeAlpine || vjs.softTypeDebugger)\r
{\r
- // Create debug & view menu\r
+ // Create debug menu\r
debugMenu = menuBar()->addMenu(tr("&Debug"));\r
- viewMenu = menuBar()->addMenu(tr("&View"));\r
\r
// Create debugger menu\r
if (vjs.softTypeDebugger)\r
{\r
+ // Create view menu\r
+ viewMenu = menuBar()->addMenu(tr("&View"));\r
+\r
// Cart menu\r
viewCartMenu = viewMenu->addMenu(tr("&Cartridge"));\r
viewCartMenu->addAction(CartFilesListAct);\r
// Just in case we crash before a clean exit...\r
WriteSettings();\r
\r
- DebuggerRefreshWindows();\r
+ RefreshWindows();\r
}\r
\r
\r
static uint32_t refresh = 0;\r
// Do autorefresh on debug windows\r
// Have to be careful, too much causes the emulator to slow way down!\r
+ if (refresh == vjs.refresh)\r
+ {\r
if (vjs.hardwareTypeAlpine || vjs.softTypeDebugger)\r
{\r
- if (refresh == vjs.refresh)\r
- {\r
AlpineRefreshWindows();\r
//memBrowseWin->RefreshContents();\r
//cpuBrowseWin->RefreshContents();\r
+ }\r
+ CommonRefreshWindows();\r
refresh = 0;\r
}\r
else\r
+ {\r
refresh++;\r
}\r
}\r
WriteLog("GUI: Resetting Jaguar...\n");\r
JaguarReset();\r
DebuggerReset();\r
+ CommonReset();\r
DebuggerResetWindows();\r
+ CommonResetWindows();\r
DACPauseAudioThread(false);\r
}\r
}\r
\r
cpuBrowseWin->HoldBPM();\r
cpuBrowseWin->HandleBPMContinue();\r
- DebuggerRefreshWindows();\r
+ RefreshWindows();\r
}\r
}\r
else\r
}\r
}\r
\r
+ // Display the Atari Jaguar software which is running\r
if ((!vjs.hardwareTypeAlpine || !vjs.softTypeDebugger) && !loadAndGo && jaguarRunAddress)\r
{\r
QString newTitle = QString("Virtual Jaguar " VJ_RELEASE_VERSION " Rx - Now playing: %1").arg(filePickWin->GetSelectedPrettyName());\r
}\r
\r
\r
-// Display list of files found in cartdridge\r
+// Display list of files found in cartridge\r
void MainWin::ShowCartFilesListWin(void)\r
{\r
CartFilesListWin->show();\r
}\r
\r
\r
-//\r
+// Display the save dump pickup file\r
void MainWin::ShowSaveDumpAsWin(void)\r
{\r
SaveDumpAsWin->show();\r
{\r
JaguarStepInto();\r
videoWidget->updateGL();\r
- DebuggerRefreshWindows();\r
+ RefreshWindows();\r
#ifdef _MSC_VER\r
#pragma message("Warning: !!! Need to verify the Step Into function !!!")\r
#else\r
m68k_brk_hitcounts_reset();\r
bpmHitCounts = 0;\r
DebuggerResetWindows();\r
- DebuggerRefreshWindows();\r
+ CommonResetWindows();\r
+ RefreshWindows();\r
#ifdef _MSC_VER\r
#pragma message("Warning: !!! Need to verify the Restart function !!!")\r
#else\r
{\r
JaguarStepOver(0);\r
videoWidget->updateGL();\r
- DebuggerRefreshWindows();\r
+ RefreshWindows();\r
#ifdef _MSC_VER\r
#pragma message("Warning: !!! Need to verify the Step Over function !!!")\r
#else\r
// Video output information\r
zoomLevel = settings.value("zoom", 2).toInt();\r
\r
+// Emulator status UI information\r
+ pos = settings.value("emuStatusWinPos", QPoint(200, 200)).toPoint();\r
+ emuStatusWin->move(pos);\r
+ settings.value("emuStatusWinIsVisible", false).toBool() ? ShowEmuStatusWin() : void();\r
+ \r
// Alpine debug UI information (also needed by the Debugger)\r
if (vjs.hardwareTypeAlpine || vjs.softTypeDebugger)\r
{\r
size = settings.value("stackBrowseWinSize", QSize(400, 400)).toSize();\r
stackBrowseWin->resize(size);\r
\r
- // Emulator status UI information\r
- pos = settings.value("emuStatusWinPos", QPoint(200, 200)).toPoint();\r
- emuStatusWin->move(pos);\r
- settings.value("emuStatusWinIsVisible", false).toBool() ? ShowEmuStatusWin() : void();\r
-\r
// OP (Object Processor) UI information\r
pos = settings.value("opBrowseWinPos", QPoint(200, 200)).toPoint();\r
opBrowseWin->move(pos);\r
size = settings.value("CallStackBrowseWinSize", QSize(400, 400)).toSize();\r
CallStackBrowseWin->resize(size);\r
\r
- // Cartdridge directory and files UI information\r
+ // cartridge directory and files UI information\r
pos = settings.value("CartFilesListWinPos", QPoint(200, 200)).toPoint();\r
CartFilesListWin->move(pos);\r
settings.value("CartFilesListWinIsVisible", false).toBool() ? ShowCartFilesListWin() : void();\r
// Video output information\r
settings.setValue("zoom", zoomLevel);\r
\r
+ // Common UI information\r
+ settings.setValue("emuStatusWinPos", emuStatusWin->pos());\r
+ settings.setValue("emuStatusWinIsVisible", emuStatusWin->isVisible());\r
+ \r
// Alpine debug UI information (also needed by the Debugger)\r
if (vjs.hardwareTypeAlpine || vjs.softTypeDebugger)\r
{\r
settings.setValue("stackBrowseWinPos", stackBrowseWin->pos());\r
settings.setValue("stackBrowseWinIsVisible", stackBrowseWin->isVisible());\r
settings.setValue("stackBrowseWinSize", stackBrowseWin->size());\r
- settings.setValue("emuStatusWinPos", emuStatusWin->pos());\r
- settings.setValue("emuStatusWinIsVisible", emuStatusWin->isVisible());\r
settings.setValue("opBrowseWinPos", opBrowseWin->pos());\r
settings.setValue("opBrowseWinIsVisible", opBrowseWin->isVisible());\r
settings.setValue("opBrowseWinSize", opBrowseWin->size());\r
cpuBrowseWin->RefreshContents();\r
memBrowseWin->RefreshContents();\r
stackBrowseWin->RefreshContents();\r
- emuStatusWin->RefreshContents();\r
opBrowseWin->RefreshContents();\r
riscDasmBrowseWin->RefreshContents();\r
m68kDasmBrowseWin->RefreshContents();\r
}\r
\r
\r
+// \r
+void MainWin::CommonResetWindows(void)\r
+{\r
+}\r
+\r
+\r
+// Reset common\r
+void MainWin::CommonReset(void)\r
+{\r
+}\r
+\r
+\r
// Reset soft debugger\r
void MainWin::DebuggerReset(void)\r
{\r
}\r
\r
\r
+// Refresh common windows\r
+void MainWin::CommonRefreshWindows(void)\r
+{\r
+ emuStatusWin->RefreshContents();\r
+}\r
+\r
+\r
// Refresh view windows\r
void MainWin::ViewRefreshWindows(void)\r
{\r
}\r
\r
\r
+// \r
+void MainWin::RefreshWindows(void)\r
+{\r
+ DebuggerRefreshWindows();\r
+ CommonRefreshWindows();\r
+}\r
+\r
+\r
// Refresh soft debugger & alpine debug windows\r
void MainWin::DebuggerRefreshWindows(void)\r
{\r