From 097aaa32142af499f7ab8b11360853cb4e40be27 Mon Sep 17 00:00:00 2001 From: Matthew Budd Date: Mon, 14 Sep 2020 21:18:54 -0400 Subject: [PATCH] Hooked up symbolic debug asm view checkbox. --- src/drivers/Qt/ConsoleDebugger.cpp | 36 ++++++++++++++++++++++++++++++ src/drivers/Qt/ConsoleDebugger.h | 5 +++++ 2 files changed, 41 insertions(+) diff --git a/src/drivers/Qt/ConsoleDebugger.cpp b/src/drivers/Qt/ConsoleDebugger.cpp index 7df7744e..7dd970b7 100644 --- a/src/drivers/Qt/ConsoleDebugger.cpp +++ b/src/drivers/Qt/ConsoleDebugger.cpp @@ -408,7 +408,12 @@ ConsoleDebugger::ConsoleDebugger(QWidget *parent) vbox->addWidget( symDbgChkBox ); vbox->addWidget( regNamChkBox ); + symDbgChkBox->setChecked(true); + regNamChkBox->setChecked(true); + connect( romOfsChkBox, SIGNAL(stateChanged(int)), this, SLOT(displayROMoffsetCB(int)) ); + connect( symDbgChkBox, SIGNAL(stateChanged(int)), this, SLOT(symbolDebugEnableCB(int)) ); + connect( regNamChkBox, SIGNAL(stateChanged(int)), this, SLOT(registerNameEnableCB(int)) ); button = new QPushButton( tr("Reload Symbols") ); vbox->addWidget( button ); @@ -981,6 +986,16 @@ void ConsoleDebugger::displayROMoffsetCB( int value ) asmView->setDisplayROMoffsets(value != Qt::Unchecked); } //---------------------------------------------------------------------------- +void ConsoleDebugger::symbolDebugEnableCB( int value ) +{ + asmView->setSymbolDebugEnable(value != Qt::Unchecked); +} +//---------------------------------------------------------------------------- +void ConsoleDebugger::registerNameEnableCB( int value ) +{ + asmView->setRegisterNameEnable(value != Qt::Unchecked); +} +//---------------------------------------------------------------------------- void ConsoleDebugger::debugRunCB(void) { if (FCEUI_EmulationPaused()) @@ -1907,6 +1922,7 @@ QAsmView::QAsmView(QWidget *parent) asmPC = NULL; displayROMoffsets = false; symbolicDebugEnable = true; + registerNameEnable = true; maxLineLen = 0; lineOffset = 0; maxLineOffset = 0; @@ -1953,6 +1969,26 @@ void QAsmView::setDisplayROMoffsets( bool value ) } } //---------------------------------------------------------------------------- +void QAsmView::setSymbolDebugEnable( bool value ) +{ + if ( value != symbolicDebugEnable ) + { + symbolicDebugEnable = value; + + updateAssemblyView(); + } +} +//---------------------------------------------------------------------------- +void QAsmView::setRegisterNameEnable( bool value ) +{ + if ( value != registerNameEnable ) + { + registerNameEnable = value; + + updateAssemblyView(); + } +} +//---------------------------------------------------------------------------- void QAsmView::calcFontData(void) { this->setFont(font); diff --git a/src/drivers/Qt/ConsoleDebugger.h b/src/drivers/Qt/ConsoleDebugger.h index bf14ed02..3ab363cd 100644 --- a/src/drivers/Qt/ConsoleDebugger.h +++ b/src/drivers/Qt/ConsoleDebugger.h @@ -74,6 +74,8 @@ class QAsmView : public QWidget void setLine(int lineNum); void scrollToPC(void); void setDisplayROMoffsets( bool value ); + void setSymbolDebugEnable( bool value ); + void setRegisterNameEnable( bool value ); int getCtxMenuAddr(void){ return ctxMenuAddr; }; protected: void paintEvent(QPaintEvent *event); @@ -114,6 +116,7 @@ class QAsmView : public QWidget bool displayROMoffsets; bool symbolicDebugEnable; + bool registerNameEnable; }; class ConsoleDebugger : public QDialog @@ -208,6 +211,8 @@ class ConsoleDebugger : public QDialog void delete_BP_CB(void); void resetCountersCB (void); void displayROMoffsetCB(int value); + void symbolDebugEnableCB(int value); + void registerNameEnableCB(int value); void breakOnBadOpcodeCB(int value); void breakOnCyclesCB( int value ); void breakOnInstructionsCB( int value );