summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/sdl/debugqtdasmwindow.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/sdl/debugqtdasmwindow.c')
-rw-r--r--src/osd/sdl/debugqtdasmwindow.c322
1 files changed, 161 insertions, 161 deletions
diff --git a/src/osd/sdl/debugqtdasmwindow.c b/src/osd/sdl/debugqtdasmwindow.c
index 54cc79684a8..f9b126da78d 100644
--- a/src/osd/sdl/debugqtdasmwindow.c
+++ b/src/osd/sdl/debugqtdasmwindow.c
@@ -5,196 +5,196 @@
#include "debug/dvdisasm.h"
-DasmWindow::DasmWindow(running_machine* machine, QWidget* parent) :
- WindowQt(machine, parent)
+DasmWindow::DasmWindow(running_machine* machine, QWidget* parent) :
+ WindowQt(machine, parent)
{
- QPoint parentPos = parent->pos();
- setGeometry(parentPos.x()+100, parentPos.y()+100, 800, 400);
- setWindowTitle("Debug: Disassembly View");
-
- //
- // The main frame and its input and log widgets
- //
- QFrame* mainWindowFrame = new QFrame(this);
-
- // The top frame & groupbox that contains the input widgets
- QFrame* topSubFrame = new QFrame(mainWindowFrame);
-
- // The input edit
- m_inputEdit = new QLineEdit(topSubFrame);
- connect(m_inputEdit, SIGNAL(returnPressed()), this, SLOT(expressionSubmitted()));
-
- // The cpu combo box
- m_cpuComboBox = new QComboBox(topSubFrame);
- m_cpuComboBox->setMinimumWidth(300);
- connect(m_cpuComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(cpuChanged(int)));
-
- // The main disasm window
- m_dasmView = new DebuggerView(DVT_DISASSEMBLY,
- m_machine,
- this);
-
- // Force a recompute of the disassembly region
- downcast<debug_view_disasm*>(m_dasmView->view())->set_expression("curpc");
-
- // Populate the combo box & set the proper cpu
- populateComboBox();
- //const debug_view_source *source = mem->views[0]->view->source_list().match_device(curcpu);
- //gtk_combo_box_set_active(zone_w, mem->views[0]->view->source_list().index(*source));
- //mem->views[0]->view->set_source(*source);
-
-
- // Layout
- QHBoxLayout* subLayout = new QHBoxLayout(topSubFrame);
- subLayout->addWidget(m_inputEdit);
- subLayout->addWidget(m_cpuComboBox);
- subLayout->setSpacing(3);
- subLayout->setContentsMargins(2,2,2,2);
-
- QVBoxLayout* vLayout = new QVBoxLayout(mainWindowFrame);
- vLayout->setSpacing(3);
- vLayout->setContentsMargins(2,2,2,2);
- vLayout->addWidget(topSubFrame);
- vLayout->addWidget(m_dasmView);
-
- setCentralWidget(mainWindowFrame);
-
- //
- // Menu bars
- //
- // Create two commands
- QAction* breakpointSetAct = new QAction("Toggle Breakpoint At Cursor", this);
- QAction* runToCursorAct = new QAction("Run To Cursor", this);
- breakpointSetAct->setShortcut(Qt::Key_F9);
- runToCursorAct->setShortcut(Qt::Key_F4);
- connect(breakpointSetAct, SIGNAL(triggered(bool)), this, SLOT(toggleBreakpointAtCursor(bool)));
- connect(runToCursorAct, SIGNAL(triggered(bool)), this, SLOT(runToCursor(bool)));
-
- // Right bar options
- QActionGroup* rightBarGroup = new QActionGroup(this);
- QAction* rightActRaw = new QAction("Raw Opcodes", this);
- QAction* rightActEncrypted = new QAction("Encrypted Opcodes", this);
- QAction* rightActComments = new QAction("Comments", this);
- rightActRaw->setCheckable(true);
- rightActEncrypted->setCheckable(true);
- rightActComments->setCheckable(true);
- rightActRaw->setActionGroup(rightBarGroup);
- rightActEncrypted->setActionGroup(rightBarGroup);
- rightActComments->setActionGroup(rightBarGroup);
- rightActRaw->setShortcut(QKeySequence("Ctrl+R"));
- rightActEncrypted->setShortcut(QKeySequence("Ctrl+E"));
- rightActComments->setShortcut(QKeySequence("Ctrl+C"));
- rightActRaw->setChecked(true);
- connect(rightBarGroup, SIGNAL(triggered(QAction*)), this, SLOT(rightBarChanged(QAction*)));
-
- // Assemble the options menu
- QMenu* optionsMenu = menuBar()->addMenu("&Options");
- optionsMenu->addAction(breakpointSetAct);
- optionsMenu->addAction(runToCursorAct);
- optionsMenu->addSeparator();
- optionsMenu->addActions(rightBarGroup->actions());
+ QPoint parentPos = parent->pos();
+ setGeometry(parentPos.x()+100, parentPos.y()+100, 800, 400);
+ setWindowTitle("Debug: Disassembly View");
+
+ //
+ // The main frame and its input and log widgets
+ //
+ QFrame* mainWindowFrame = new QFrame(this);
+
+ // The top frame & groupbox that contains the input widgets
+ QFrame* topSubFrame = new QFrame(mainWindowFrame);
+
+ // The input edit
+ m_inputEdit = new QLineEdit(topSubFrame);
+ connect(m_inputEdit, SIGNAL(returnPressed()), this, SLOT(expressionSubmitted()));
+
+ // The cpu combo box
+ m_cpuComboBox = new QComboBox(topSubFrame);
+ m_cpuComboBox->setMinimumWidth(300);
+ connect(m_cpuComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(cpuChanged(int)));
+
+ // The main disasm window
+ m_dasmView = new DebuggerView(DVT_DISASSEMBLY,
+ m_machine,
+ this);
+
+ // Force a recompute of the disassembly region
+ downcast<debug_view_disasm*>(m_dasmView->view())->set_expression("curpc");
+
+ // Populate the combo box & set the proper cpu
+ populateComboBox();
+ //const debug_view_source *source = mem->views[0]->view->source_list().match_device(curcpu);
+ //gtk_combo_box_set_active(zone_w, mem->views[0]->view->source_list().index(*source));
+ //mem->views[0]->view->set_source(*source);
+
+
+ // Layout
+ QHBoxLayout* subLayout = new QHBoxLayout(topSubFrame);
+ subLayout->addWidget(m_inputEdit);
+ subLayout->addWidget(m_cpuComboBox);
+ subLayout->setSpacing(3);
+ subLayout->setContentsMargins(2,2,2,2);
+
+ QVBoxLayout* vLayout = new QVBoxLayout(mainWindowFrame);
+ vLayout->setSpacing(3);
+ vLayout->setContentsMargins(2,2,2,2);
+ vLayout->addWidget(topSubFrame);
+ vLayout->addWidget(m_dasmView);
+
+ setCentralWidget(mainWindowFrame);
+
+ //
+ // Menu bars
+ //
+ // Create two commands
+ QAction* breakpointSetAct = new QAction("Toggle Breakpoint At Cursor", this);
+ QAction* runToCursorAct = new QAction("Run To Cursor", this);
+ breakpointSetAct->setShortcut(Qt::Key_F9);
+ runToCursorAct->setShortcut(Qt::Key_F4);
+ connect(breakpointSetAct, SIGNAL(triggered(bool)), this, SLOT(toggleBreakpointAtCursor(bool)));
+ connect(runToCursorAct, SIGNAL(triggered(bool)), this, SLOT(runToCursor(bool)));
+
+ // Right bar options
+ QActionGroup* rightBarGroup = new QActionGroup(this);
+ QAction* rightActRaw = new QAction("Raw Opcodes", this);
+ QAction* rightActEncrypted = new QAction("Encrypted Opcodes", this);
+ QAction* rightActComments = new QAction("Comments", this);
+ rightActRaw->setCheckable(true);
+ rightActEncrypted->setCheckable(true);
+ rightActComments->setCheckable(true);
+ rightActRaw->setActionGroup(rightBarGroup);
+ rightActEncrypted->setActionGroup(rightBarGroup);
+ rightActComments->setActionGroup(rightBarGroup);
+ rightActRaw->setShortcut(QKeySequence("Ctrl+R"));
+ rightActEncrypted->setShortcut(QKeySequence("Ctrl+E"));
+ rightActComments->setShortcut(QKeySequence("Ctrl+C"));
+ rightActRaw->setChecked(true);
+ connect(rightBarGroup, SIGNAL(triggered(QAction*)), this, SLOT(rightBarChanged(QAction*)));
+
+ // Assemble the options menu
+ QMenu* optionsMenu = menuBar()->addMenu("&Options");
+ optionsMenu->addAction(breakpointSetAct);
+ optionsMenu->addAction(runToCursorAct);
+ optionsMenu->addSeparator();
+ optionsMenu->addActions(rightBarGroup->actions());
}
void DasmWindow::cpuChanged(int index)
{
- m_dasmView->view()->set_source(*m_dasmView->view()->source_list().by_index(index));
- m_dasmView->viewport()->update();
+ m_dasmView->view()->set_source(*m_dasmView->view()->source_list().by_index(index));
+ m_dasmView->viewport()->update();
}
void DasmWindow::expressionSubmitted()
{
- const QString expression = m_inputEdit->text();
- downcast<debug_view_disasm*>(m_dasmView->view())->set_expression(expression.toLocal8Bit().data());
- m_dasmView->viewport()->update();
+ const QString expression = m_inputEdit->text();
+ downcast<debug_view_disasm*>(m_dasmView->view())->set_expression(expression.toLocal8Bit().data());
+ m_dasmView->viewport()->update();
}
void DasmWindow::toggleBreakpointAtCursor(bool changedTo)
{
- if (m_dasmView->view()->cursor_visible())
- {
- if (debug_cpu_get_visible_cpu(*m_machine) == m_dasmView->view()->source()->device())
- {
- offs_t address = downcast<debug_view_disasm *>(m_dasmView->view())->selected_address();
- device_debug *cpuinfo = m_dasmView->view()->source()->device()->debug();
-
- // Find an existing breakpoint at this address
- INT32 bpindex = -1;
- for (device_debug::breakpoint* bp = cpuinfo->breakpoint_first();
- bp != NULL;
- bp = bp->next())
- {
- if (address == bp->address())
- {
- bpindex = bp->index();
- break;
- }
- }
-
- // If none exists, add a new one
- astring command;
- if (bpindex == -1)
- {
- command.printf("bpset 0x%X", address);
- }
- else
- {
- command.printf("bpclear 0x%X", bpindex);
- }
- debug_console_execute_command(*m_machine, command, 1);
- }
- }
-
- refreshAll();
+ if (m_dasmView->view()->cursor_visible())
+ {
+ if (debug_cpu_get_visible_cpu(*m_machine) == m_dasmView->view()->source()->device())
+ {
+ offs_t address = downcast<debug_view_disasm *>(m_dasmView->view())->selected_address();
+ device_debug *cpuinfo = m_dasmView->view()->source()->device()->debug();
+
+ // Find an existing breakpoint at this address
+ INT32 bpindex = -1;
+ for (device_debug::breakpoint* bp = cpuinfo->breakpoint_first();
+ bp != NULL;
+ bp = bp->next())
+ {
+ if (address == bp->address())
+ {
+ bpindex = bp->index();
+ break;
+ }
+ }
+
+ // If none exists, add a new one
+ astring command;
+ if (bpindex == -1)
+ {
+ command.printf("bpset 0x%X", address);
+ }
+ else
+ {
+ command.printf("bpclear 0x%X", bpindex);
+ }
+ debug_console_execute_command(*m_machine, command, 1);
+ }
+ }
+
+ refreshAll();
}
void DasmWindow::runToCursor(bool changedTo)
{
- if (m_dasmView->view()->cursor_visible())
- {
- if (debug_cpu_get_visible_cpu(*m_machine) == m_dasmView->view()->source()->device())
- {
- offs_t address = downcast<debug_view_disasm*>(m_dasmView->view())->selected_address();
- astring command;
- command.printf("go 0x%X", address);
- debug_console_execute_command(*m_machine, command, 1);
- }
- }
+ if (m_dasmView->view()->cursor_visible())
+ {
+ if (debug_cpu_get_visible_cpu(*m_machine) == m_dasmView->view()->source()->device())
+ {
+ offs_t address = downcast<debug_view_disasm*>(m_dasmView->view())->selected_address();
+ astring command;
+ command.printf("go 0x%X", address);
+ debug_console_execute_command(*m_machine, command, 1);
+ }
+ }
}
void DasmWindow::rightBarChanged(QAction* changedTo)
{
- debug_view_disasm* dasmView = downcast<debug_view_disasm*>(m_dasmView->view());
- if (changedTo->text() == "Raw Opcodes")
- {
- dasmView->set_right_column(DASM_RIGHTCOL_RAW);
- }
- else if (changedTo->text() == "Encrypted Opcodes")
- {
- dasmView->set_right_column(DASM_RIGHTCOL_ENCRYPTED);
- }
- else if (changedTo->text() == "Comments")
- {
- dasmView->set_right_column(DASM_RIGHTCOL_COMMENTS);
- }
- m_dasmView->viewport()->update();
+ debug_view_disasm* dasmView = downcast<debug_view_disasm*>(m_dasmView->view());
+ if (changedTo->text() == "Raw Opcodes")
+ {
+ dasmView->set_right_column(DASM_RIGHTCOL_RAW);
+ }
+ else if (changedTo->text() == "Encrypted Opcodes")
+ {
+ dasmView->set_right_column(DASM_RIGHTCOL_ENCRYPTED);
+ }
+ else if (changedTo->text() == "Comments")
+ {
+ dasmView->set_right_column(DASM_RIGHTCOL_COMMENTS);
+ }
+ m_dasmView->viewport()->update();
}
void DasmWindow::populateComboBox()
{
- if (m_dasmView == NULL)
- return;
-
- m_cpuComboBox->clear();
- for (const debug_view_source* source = m_dasmView->view()->source_list().head();
- source != NULL;
- source = source->next())
- {
- m_cpuComboBox->addItem(source->name());
- }
+ if (m_dasmView == NULL)
+ return;
+
+ m_cpuComboBox->clear();
+ for (const debug_view_source* source = m_dasmView->view()->source_list().head();
+ source != NULL;
+ source = source->next())
+ {
+ m_cpuComboBox->addItem(source->name());
+ }
}