X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Fgui%2Fdebug%2Fopbrowser.cpp;h=e30907b13ca83996c12eaba3d6195eb4a844b0b3;hb=94d59c2c8c14b9ac51dffd117ec507418b4d0881;hp=52f40ef784c86274d7d2f459b28884fc5723a992;hpb=cdc64706c10d3fe005fecff5d000fe60b3980a3b;p=virtualjaguar
diff --git a/src/gui/debug/opbrowser.cpp b/src/gui/debug/opbrowser.cpp
index 52f40ef..e30907b 100644
--- a/src/gui/debug/opbrowser.cpp
+++ b/src/gui/debug/opbrowser.cpp
@@ -21,22 +21,25 @@
OPBrowserWindow::OPBrowserWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Dialog),
-// layout(new QVBoxLayout), text(new QTextBrowser),
layout(new QVBoxLayout), text(new QLabel),
- refresh(new QPushButton(tr("Refresh")))//,
-// memBase(0)
+ refresh(new QPushButton(tr("Refresh")))
{
setWindowTitle(tr("OP Browser"));
// Need to set the size as well...
// resize(560, 480);
- QFont fixedFont("Lucida Console", 10, QFont::Normal);
+// QFont fixedFont("Lucida Console", 8, QFont::Normal);
+ QFont fixedFont("", 8, QFont::Normal);
+ fixedFont.setStyleHint(QFont::TypeWriter);
text->setFont(fixedFont);
//// layout->setSizeConstraint(QLayout::SetFixedSize);
setLayout(layout);
- layout->addWidget(text);
+ QScrollArea * scrollArea = new QScrollArea;
+ scrollArea->setWidgetResizable(true);
+ scrollArea->setWidget(text);
+ layout->addWidget(scrollArea);
layout->addWidget(refresh);
connect(refresh, SIGNAL(clicked()), this, SLOT(RefreshContents()));
@@ -48,39 +51,8 @@ void OPBrowserWindow::RefreshContents(void)
char string[1024];//, buf[64];
QString opDump;
-#if 0
- for(uint32_t i=0; i<480; i+=16)
- {
- sprintf(string, "%s%06X: ", (i != 0 ? "
" : ""), memBase + i);
-
- for(uint32_t j=0; j<16; j++)
- {
- sprintf(buf, "%02X ", jaguarMainRAM[memBase + i + j]);
- strcat(string, buf);
- }
-
- sprintf(buf, "| ");
- strcat(string, buf);
-
- for(uint32_t j=0; j<16; j++)
- {
- uint8_t c = jaguarMainRAM[memBase + i + j];
- sprintf(buf, "%i;", c);
-
- if (c == 0x20)
- sprintf(buf, " ");
-
- if ((c < 0x20) || ((c > 0x7F) && (c < 0xA0)))
- sprintf(buf, ".");
-
- strcat(string, buf);
- }
-
- memDump += QString(string);
- }
-#endif
uint32_t olp = OPGetListPointer();
- sprintf(string, "OLP = $%08X
", olp);
+ sprintf(string, "OLP = $%X
", olp);
opDump += QString(string);
numberOfObjects = 0;
@@ -94,46 +66,10 @@ void OPBrowserWindow::RefreshContents(void)
void OPBrowserWindow::keyPressEvent(QKeyEvent * e)
{
- if (e->key() == Qt::Key_Escape || e->key() == Qt::Key_Return)
+ if (e->key() == Qt::Key_Escape)
hide();
-#if 0
- else if (e->key() == Qt::Key_PageUp)
- {
- memBase -= 480;
-
- if (memBase < 0)
- memBase = 0;
-
- RefreshContents();
- }
- else if (e->key() == Qt::Key_PageDown)
- {
- memBase += 480;
-
- if (memBase > (0x200000 - 480))
- memBase = 0x200000 - 480;
-
- RefreshContents();
- }
- else if (e->key() == Qt::Key_Up || e->key() == Qt::Key_Minus)
- {
- memBase -= 16;
-
- if (memBase < 0)
- memBase = 0;
-
+ else if (e->key() == Qt::Key_Enter)
RefreshContents();
- }
- else if (e->key() == Qt::Key_Down || e->key() == Qt::Key_Equal)
- {
- memBase += 16;
-
- if (memBase > (0x200000 - 480))
- memBase = 0x200000 - 480;
-
- RefreshContents();
- }
-#endif
}
@@ -203,21 +139,17 @@ void OPBrowserWindow::DumpObjectList(QString & list)
uint32_t lo = JaguarReadLong(address + 4, OP);
uint8_t objectType = lo & 0x07;
uint32_t link = ((hi << 11) | (lo >> 21)) & 0x3FFFF8;
-// WriteLog("%08X: %08X %08X %s", address, hi, lo, opType[objectType]);
- sprintf(buf, "%08X: %08X %08X %s -> %08X", address, hi, lo, opType[objectType], link);
+ sprintf(buf, "
%06X: %08X %08X %s -> %06X", address, hi, lo, opType[objectType], link);
list += QString(buf);
if (objectType == 3)
{
uint16_t ypos = (lo >> 3) & 0x7FF;
uint8_t cc = (lo >> 14) & 0x07; // Proper # of bits == 3
-// WriteLog(" YPOS=%u, CC=%s, link=$%08X", ypos, ccType[cc], link);
-// sprintf(buf, " YPOS=%u, CC=%s, link=$%08X", ypos, ccType[cc], link);
sprintf(buf, " YPOS %s %u", ccType[cc], ypos);
list += QString(buf);
}
-// WriteLog("\n");
list += "
";
if (objectType == 0)
@@ -230,13 +162,11 @@ void OPBrowserWindow::DumpObjectList(QString & list)
if (address == link) // Ruh roh...
{
// Runaway recursive link is bad!
-// WriteLog("***** SELF REFERENTIAL LINK *****\n\n");
- sprintf(buf, "***** SELF REFERENTIAL LINK *****
");
+ sprintf(buf, "***** SELF REFERENTIAL LINK *****
");
list += QString(buf);
}
}
-// WriteLog("\n");
list += "
";
}
@@ -245,18 +175,15 @@ void OPBrowserWindow::DumpScaledObject(QString & list, uint64_t p0, uint64_t p1,
{
char buf[512];
-// WriteLog(" %08X %08X\n", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF));
- sprintf(buf, "_________ %08X %08X
", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF));
+ sprintf(buf, " %08X %08X
", (uint32_t)(p1 >> 32), (uint32_t)(p1 & 0xFFFFFFFF));
list += QString(buf);
-// WriteLog(" %08X %08X\n", (uint32)(p2>>32), (uint32)(p2&0xFFFFFFFF));
- sprintf(buf, "_________ %08X %08X
", (uint32)(p2>>32), (uint32)(p2&0xFFFFFFFF));
+ sprintf(buf, " %08X %08X
", (uint32_t)(p2 >> 32), (uint32_t)(p2 & 0xFFFFFFFF));
list += QString(buf);
DumpBitmapCore(list, p0, p1);
- uint32 hscale = p2 & 0xFF;
- uint32 vscale = (p2 >> 8) & 0xFF;
- uint32 remainder = (p2 >> 16) & 0xFF;
-// WriteLog(" [hsc: %02X, vsc: %02X, rem: %02X]\n", hscale, vscale, remainder);
- sprintf(buf, "[hsc: %02X, vsc: %02X, rem: %02X]
", hscale, vscale, remainder);
+ uint32_t hscale = p2 & 0xFF;
+ uint32_t vscale = (p2 >> 8) & 0xFF;
+ uint32_t remainder = (p2 >> 16) & 0xFF;
+ sprintf(buf, " [hsc: %02X, vsc: %02X, rem: %02X]
", hscale, vscale, remainder);
list += QString(buf);
}
@@ -265,8 +192,7 @@ void OPBrowserWindow::DumpFixedObject(QString & list, uint64_t p0, uint64_t p1)
{
char buf[512];
-// WriteLog(" %08X %08X\n", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF));
- sprintf(buf, " %08X %08X
", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF));
+ sprintf(buf, " %08X %08X
", (uint32_t)(p1 >> 32), (uint32_t)(p1 & 0xFFFFFFFF));
list += QString(buf);
DumpBitmapCore(list, p0, p1);
}
@@ -292,17 +218,13 @@ void OPBrowserWindow::DumpBitmapCore(QString & list, uint64_t p0, uint64_t p1)
uint8_t flags = (p1 >> 45) & 0x0F;
uint8_t idx = (p1 >> 38) & 0x7F;
uint32_t pitch = (p1 >> 15) & 0x07;
-// WriteLog(" [%u x %u @ (%i, %u) (iw:%u, dw:%u) (%u bpp), l:%08X, p:%08X fp:%02X, fl:%s%s%s%s, idx:%02X, pt:%02X]\n",
-// iwidth * bdMultiplier[bitdepth],
-// height, xpos, ypos, iwidth, dwidth, op_bitmap_bit_depth[bitdepth], link,
-// ptr, firstPix, (flags&OPFLAG_REFLECT ? "REFLECT " : ""),
-// (flags&OPFLAG_RMW ? "RMW " : ""), (flags&OPFLAG_TRANS ? "TRANS " : ""),
-// (flags&OPFLAG_RELEASE ? "RELEASE" : ""), idx, pitch);
- sprintf(buf, " [%u x %u @ (%i, %u) (iw:%u, dw:%u) (%u bpp), p:%08X fp:%02X, fl:%s%s%s%s, idx:%02X, pt:%02X]
",
+
+ sprintf(buf, " [%u x %u @ (%i, %u) (iw:%u, dw:%u) (%u bpp), p:%06X fp:%02X, fl:%s%s%s%s, idx:%02X, pt:%02X]
",
iwidth * bdMultiplier[bitdepth],
height, xpos, ypos, iwidth, dwidth, op_bitmap_bit_depth[bitdepth],
- ptr, firstPix, (flags&OPFLAG_REFLECT ? "REFLECT " : ""),
- (flags&OPFLAG_RMW ? "RMW " : ""), (flags&OPFLAG_TRANS ? "TRANS " : ""),
- (flags&OPFLAG_RELEASE ? "RELEASE" : ""), idx, pitch);
+ ptr, firstPix, (flags & OPFLAG_REFLECT ? "REFLECT " : ""),
+ (flags & OPFLAG_RMW ? "RMW " : ""), (flags & OPFLAG_TRANS ? "TRANS " : ""),
+ (flags & OPFLAG_RELEASE ? "RELEASE" : ""), idx, pitch);
list += QString(buf);
}
+