2 // cpubrowser.cpp - Jaguar CPU browser
5 // (C) 2012 Underground Software
7 // JLH = James Hammons <jlhamm@acm.org>
10 // --- ---------- -------------------------------------------------------------
11 // JLH 08/14/2012 Created this file
17 #include "cpubrowser.h"
19 #include "m68000/m68kinterface.h"
22 CPUBrowserWindow::CPUBrowserWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Dialog),
23 // layout(new QVBoxLayout), text(new QTextBrowser),
24 layout(new QVBoxLayout), text(new QLabel),
25 refresh(new QPushButton(tr("Refresh"))),
28 setWindowTitle(tr("CPU Browser"));
30 // Need to set the size as well...
33 QFont fixedFont("Lucida Console", 10, QFont::Normal);
34 text->setFont(fixedFont);
35 //// layout->setSizeConstraint(QLayout::SetFixedSize);
38 layout->addWidget(text);
39 layout->addWidget(refresh);
41 connect(refresh, SIGNAL(clicked()), this, SLOT(RefreshContents()));
45 void CPUBrowserWindow::RefreshContents(void)
47 char string[1024], buf[64];
50 uint32_t m68kPC = m68k_get_reg(NULL, M68K_REG_PC);
51 uint32_t m68kSR = m68k_get_reg(NULL, M68K_REG_SR);
52 sprintf(string, "PC: %06X SR: %04X<br><br>", m68kPC, m68kSR);
55 uint32_t m68kA0 = m68k_get_reg(NULL, M68K_REG_A0);
56 uint32_t m68kA1 = m68k_get_reg(NULL, M68K_REG_A1);
57 uint32_t m68kA2 = m68k_get_reg(NULL, M68K_REG_A2);
58 uint32_t m68kA3 = m68k_get_reg(NULL, M68K_REG_A3);
59 sprintf(string, "A0: %08X A1: %08X A2: %08X A3: %08X<br>", m68kA0, m68kA1, m68kA2, m68kA3);
62 uint32_t m68kA4 = m68k_get_reg(NULL, M68K_REG_A4);
63 uint32_t m68kA5 = m68k_get_reg(NULL, M68K_REG_A5);
64 uint32_t m68kA6 = m68k_get_reg(NULL, M68K_REG_A6);
65 uint32_t m68kA7 = m68k_get_reg(NULL, M68K_REG_A7);
66 sprintf(string, "A4: %08X A5: %08X A6: %08X A7: %08X<br><br>", m68kA4, m68kA5, m68kA6, m68kA7);
69 uint32_t m68kD0 = m68k_get_reg(NULL, M68K_REG_D0);
70 uint32_t m68kD1 = m68k_get_reg(NULL, M68K_REG_D1);
71 uint32_t m68kD2 = m68k_get_reg(NULL, M68K_REG_D2);
72 uint32_t m68kD3 = m68k_get_reg(NULL, M68K_REG_D3);
73 sprintf(string, "D0: %08X D1: %08X D2: %08X D3: %08X<br>", m68kD0, m68kD1, m68kD2, m68kD3);
76 uint32_t m68kD4 = m68k_get_reg(NULL, M68K_REG_D4);
77 uint32_t m68kD5 = m68k_get_reg(NULL, M68K_REG_D5);
78 uint32_t m68kD6 = m68k_get_reg(NULL, M68K_REG_D6);
79 uint32_t m68kD7 = m68k_get_reg(NULL, M68K_REG_D7);
80 sprintf(string, "D4: %08X D5: %08X D6: %08X D7: %08X", m68kD4, m68kD5, m68kD6, m68kD7);
88 void CPUBrowserWindow::keyPressEvent(QKeyEvent * e)
90 if (e->key() == Qt::Key_Escape || e->key() == Qt::Key_Return)
92 else if (e->key() == Qt::Key_PageUp)
101 else if (e->key() == Qt::Key_PageDown)
105 if (memBase > (0x200000 - 480))
106 memBase = 0x200000 - 480;
110 else if (e->key() == Qt::Key_Up || e->key() == Qt::Key_Minus)
119 else if (e->key() == Qt::Key_Down || e->key() == Qt::Key_Equal)
123 if (memBase > (0x200000 - 480))
124 memBase = 0x200000 - 480;