// JPM Aug./2019 Update texts descriptions, set cartridge view menu for debugger mode only, added a HW registers browser and source level tracing\r
// JPM Marc./2020 Added the step over for source level tracing\r
// RG Jan./2021 Linux build fixes\r
-// JPM Apr./2021 Handle number of M68K cycles used in tracing mode\r
+// JPM Apr./2021 Handle number of M68K cycles used in tracing mode, added video output display in a window\r
//\r
\r
// FIXED:\r
#include "m68000/m68kinterface.h"\r
\r
#include "debugger/DBGManager.h"\r
-//#include "debugger/VideoWin.h"\r
+#include "debugger/VideoWin.h"\r
//#include "debugger/DasmWin.h"\r
#include "debugger/SourcesWin.h"\r
#include "debugger/m68kDasmWin.h"\r
// Windows debugger mode features\r
if (vjs.softTypeDebugger)\r
{\r
- //VideoOutputWin = new VideoOutputWindow(this);\r
+ VideoOutputWin = new VideoOutputWindow(this);\r
+ //VideoOutputWin->show();\r
//VideoOutputWin->setCentralWidget()\r
//DasmWin = new DasmWindow();\r
//DasmWin = new DasmWindow(this);\r
saveDumpAsAct->setDisabled(false);\r
connect(saveDumpAsAct, SIGNAL(triggered()), this, SLOT(ShowSaveDumpAsWin()));\r
\r
- //VideoOutputAct = new QAction(tr("Output Video"), this);\r
- //VideoOutputAct->setStatusTip(tr("Shows the output video window"));\r
- //connect(VideoOutputAct, SIGNAL(triggered()), this, SLOT(ShowVideoOutputWin()));\r
+ VideoOutputAct = new QAction(tr("Output Video"), this);\r
+ VideoOutputAct->setStatusTip(tr("Shows the output video window"));\r
+ connect(VideoOutputAct, SIGNAL(triggered()), this, SLOT(ShowVideoOutputWin()));\r
\r
//DasmAct = new QAction(tr("Disassembly"), this);\r
//DasmAct->setStatusTip(tr("Shows the disassembly window"));\r
debugWindowExceptionMenu = debugWindowsMenu->addMenu(tr("&Exception"));\r
debugWindowExceptionMenu->addAction(exceptionVectorTableBrowseAct);\r
debugWindowsMenu->addSeparator();\r
-#if 0\r
debugWindowOutputMenu = debugWindowsMenu->addMenu(tr("&Output"));\r
debugWindowOutputMenu->addAction(VideoOutputAct);\r
debugWindowsMenu->addSeparator();\r
-#endif\r
debugWindowsWatchMenu = debugWindowsMenu->addMenu(tr("&Watch"));\r
debugWindowsWatchMenu->addAction(allWatchBrowseAct);\r
debugWindowsMenu->addAction(LocalBrowseAct);\r
\r
//if (!vjs.softTypeDebugger)\r
videoWidget->updateGL();\r
+ //vjs.softTypeDebugger ? VideoOutputWin->RefreshContents(videoWidget) : NULL;\r
\r
// FPS handling\r
// Approach: We use a ring buffer to store times (in ms) over a given\r
}\r
\r
videoWidget->updateGL();\r
+ //vjs.softTypeDebugger ? VideoOutputWin->RefreshContents(videoWidget) : NULL;\r
\r
cpuBrowseWin->HoldBPM();\r
cpuBrowseWin->HandleBPMContinue();\r
JaguarExecuteNew();\r
//if (!vjs.softTypeDebugger)\r
videoWidget->updateGL();\r
+ //vjs.softTypeDebugger ? VideoOutputWin->RefreshContents(videoWidget) : NULL;\r
ToggleRunState();\r
// Need to execute 1 frames' worth of DSP thread as well :-/\r
\r
\r
\r
// \r
-#if 0\r
void MainWin::ShowVideoOutputWin(void)\r
{\r
//VideoOutputWindowCentrale = mainWindowCentrale->addSubWindow(videoWidget);\r
//VideoOutputWindowCentrale->setWindowTitle(QString(tr("Video output")));\r
//VideoOutputWindowCentrale->show();\r
//memBrowseWin->show();\r
- //VideoOutputWin->show();\r
+ VideoOutputWin->show();\r
+ VideoOutputWin->SetupVideo(videoWidget);\r
+ //VideoOutputWin->adjustSize();\r
//VideoOutputWin->RefreshContents(videoWidget);\r
}\r
-#endif\r
\r
\r
// Resize video window based on zoom factor\r
size = settings.value("SaveDumpAsWinSize", QSize(400, 400)).toSize();\r
SaveDumpAsWin->resize(size);\r
\r
+ // save output video UI information\r
+ pos = settings.value("VideoOutputWinPos", QPoint(200, 200)).toPoint();\r
+ VideoOutputWin->move(pos);\r
+ settings.value("VideoOutputWinIsVisible", false).toBool() ? ShowVideoOutputWin() : void();\r
+ size = settings.value("VideoOutputWinSize", QSize(400, 400)).toSize();\r
+ VideoOutputWin->resize(size);\r
+\r
// Breakpoints UI information\r
pos = settings.value("BreakpointsWinPos", QPoint(200, 200)).toPoint();\r
BreakpointsWin->move(pos);\r
settings.setValue("SaveDumpAsWinPos", SaveDumpAsWin->pos());\r
settings.setValue("SaveDumpAsWinIsVisible", SaveDumpAsWin->isVisible());\r
settings.setValue("SaveDumpAsWinSize", SaveDumpAsWin->size());\r
+ settings.setValue("VideoOutputWinPos", VideoOutputWin->pos());\r
+ settings.setValue("VideoOutputWinIsVisible", VideoOutputWin->isVisible());\r
+ settings.setValue("VideoOutputWinSize", VideoOutputWin->size());\r
\r
for (i = 0; i < vjs.nbrmemory1browserwindow; i++)\r
{\r
{\r
if (vjs.softTypeDebugger)\r
{\r
+ //VideoOutputWin->RefreshContents(videoWidget);\r
FilesrcListWin->RefreshContents();\r
SourcesWin->RefreshContents();\r
m68kDasmWin->RefreshContents();\r