Handle number of M68K cycles used when tracing in debugger mode
[clinton/Virtual-Jaguar-Rx.git] / src / gui / mainwin.cpp
index eca4846..0202537 100644 (file)
@@ -28,6 +28,7 @@
 // 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
 //\r
 \r
 // FIXED:\r
@@ -1353,6 +1354,7 @@ void MainWin::ToggleRunState(void)
                cpuBrowseWin->UnholdBPM();\r
        }\r
 \r
+       emuStatusWin->ResetM68KCycles();\r
        // Pause/unpause any running/non-running threads...\r
        DACPauseAudioThread(!running);\r
 }\r
@@ -1563,6 +1565,7 @@ void MainWin::DisableAllBreakpoints(void)
 // Open, or display, the new breakpoint function window\r
 void MainWin::ShowNewFunctionBreakpointWin(void)\r
 {\r
+       NewFunctionBreakpointWin->SetFnctBreakpointWin(BreakpointsWin);\r
        NewFunctionBreakpointWin->show();\r
        ShowBreakpointsWin();\r
 }\r
@@ -1590,12 +1593,12 @@ void MainWin::DebuggerTraceStepInto(void)
        {\r
                while (!SourcesWin->CheckChangeLine())\r
                {\r
-                       JaguarStepInto();\r
+                       emuStatusWin->UpdateM68KCycles(JaguarStepInto());\r
                }\r
        }\r
        else\r
        {\r
-               JaguarStepInto();\r
+               emuStatusWin->UpdateM68KCycles(JaguarStepInto());\r
        }\r
 \r
        videoWidget->updateGL();\r
@@ -1620,6 +1623,7 @@ void MainWin::DebuggerRestart(void)
        dasmtabWidget->setCurrentIndex(1);              // set focus on the disasm M68K tab\r
        m68k_set_reg(M68K_REG_A6, 0);\r
        m68k_brk_hitcounts_reset();\r
+       emuStatusWin->ResetM68KCycles();\r
        bpmHitCounts = 0;\r
        DebuggerResetWindows();\r
        CommonResetWindows();\r
@@ -1640,12 +1644,12 @@ void MainWin::DebuggerTraceStepOver(void)
        {\r
                while (!SourcesWin->CheckChangeLine())\r
                {\r
-                       JaguarStepOver(0);\r
+                       emuStatusWin->UpdateM68KCycles(JaguarStepOver(0));\r
                }\r
        }\r
        else\r
        {\r
-               JaguarStepOver(0);\r
+               emuStatusWin->UpdateM68KCycles(JaguarStepOver(0));\r
        }\r
 \r
        videoWidget->updateGL();\r
@@ -1952,6 +1956,7 @@ void MainWin::ReadSettings(void)
        strcpy(vjs.absROMPath, settings.value("DefaultABS", "").toString().toUtf8().data());\r
        vjs.refresh = settings.value("refresh", 60).toUInt();\r
        vjs.allowWritesToROM = settings.value("writeROM", false).toBool();\r
+       vjs.allowM68KExceptionCatch = settings.value("M68KExceptionCatch", false).toBool();\r
        settings.endGroup();\r
 \r
        // Read settings from the Keybindings\r
@@ -2252,6 +2257,7 @@ void MainWin::WriteSettings(void)
        settings.setValue("DefaultROM", vjs.alpineROMPath);\r
        settings.setValue("DefaultABS", vjs.absROMPath);\r
        settings.setValue("writeROM", vjs.allowWritesToROM);\r
+       settings.setValue("M68KExceptionCatch", vjs.allowM68KExceptionCatch);\r
        settings.endGroup();\r
 \r
        // Write settings from the Debugger mode\r