X-Git-Url: http://git.hcoop.net/clinton/Virtual-Jaguar-Rx.git/blobdiff_plain/dce6ed02232f83b4198eb9f591122c0a7ad1a3ee..44432db55800c792f94183b9038713f8e6f1061b:/src/gui/mainwin.cpp diff --git a/src/gui/mainwin.cpp b/src/gui/mainwin.cpp index 66897b4..0202537 100644 --- a/src/gui/mainwin.cpp +++ b/src/gui/mainwin.cpp @@ -5,6 +5,8 @@ // // JLH = James Hammons // JPM = Jean-Paul Mari +// RG = Richard Goedeken + // // Who When What // --- ---------- ------------------------------------------------------------ @@ -25,6 +27,8 @@ // JPM April/2019 Added ELF sections check, added a save memory dump // JPM Aug./2019 Update texts descriptions, set cartridge view menu for debugger mode only, added a HW registers browser and source level tracing // JPM Marc./2020 Added the step over for source level tracing +// RG Jan./2021 Linux build fixes +// JPM Apr./2021 Handle number of M68K cycles used in tracing mode // // FIXED: @@ -1350,6 +1354,7 @@ void MainWin::ToggleRunState(void) cpuBrowseWin->UnholdBPM(); } + emuStatusWin->ResetM68KCycles(); // Pause/unpause any running/non-running threads... DACPauseAudioThread(!running); } @@ -1560,6 +1565,7 @@ void MainWin::DisableAllBreakpoints(void) // Open, or display, the new breakpoint function window void MainWin::ShowNewFunctionBreakpointWin(void) { + NewFunctionBreakpointWin->SetFnctBreakpointWin(BreakpointsWin); NewFunctionBreakpointWin->show(); ShowBreakpointsWin(); } @@ -1587,12 +1593,12 @@ void MainWin::DebuggerTraceStepInto(void) { while (!SourcesWin->CheckChangeLine()) { - JaguarStepInto(); + emuStatusWin->UpdateM68KCycles(JaguarStepInto()); } } else { - JaguarStepInto(); + emuStatusWin->UpdateM68KCycles(JaguarStepInto()); } videoWidget->updateGL(); @@ -1617,6 +1623,7 @@ void MainWin::DebuggerRestart(void) dasmtabWidget->setCurrentIndex(1); // set focus on the disasm M68K tab m68k_set_reg(M68K_REG_A6, 0); m68k_brk_hitcounts_reset(); + emuStatusWin->ResetM68KCycles(); bpmHitCounts = 0; DebuggerResetWindows(); CommonResetWindows(); @@ -1637,12 +1644,12 @@ void MainWin::DebuggerTraceStepOver(void) { while (!SourcesWin->CheckChangeLine()) { - JaguarStepOver(0); + emuStatusWin->UpdateM68KCycles(JaguarStepOver(0)); } } else { - JaguarStepOver(0); + emuStatusWin->UpdateM68KCycles(JaguarStepOver(0)); } videoWidget->updateGL(); @@ -1949,6 +1956,7 @@ void MainWin::ReadSettings(void) strcpy(vjs.absROMPath, settings.value("DefaultABS", "").toString().toUtf8().data()); vjs.refresh = settings.value("refresh", 60).toUInt(); vjs.allowWritesToROM = settings.value("writeROM", false).toBool(); + vjs.allowM68KExceptionCatch = settings.value("M68KExceptionCatch", false).toBool(); settings.endGroup(); // Read settings from the Keybindings @@ -2249,6 +2257,7 @@ void MainWin::WriteSettings(void) settings.setValue("DefaultROM", vjs.alpineROMPath); settings.setValue("DefaultABS", vjs.absROMPath); settings.setValue("writeROM", vjs.allowWritesToROM); + settings.setValue("M68KExceptionCatch", vjs.allowM68KExceptionCatch); settings.endGroup(); // Write settings from the Debugger mode