//\r
-// allwatch.cpp - All Watch\r
+// heapallocatorbrowser.cpp: Memory heap allocation\r
//\r
// by Jean-Paul Mari\r
//\r
\r
HeapAllocatorBrowserWindow::HeapAllocatorBrowserWindow(QWidget * parent/*= 0*/) : QWidget(parent, Qt::Dialog),\r
layout(new QVBoxLayout), text(new QTextBrowser),\r
-// layout(new QVBoxLayout), text(new QLabel),\r
-// refresh(new QPushButton(tr("Refresh"))),\r
-// address(new QLineEdit),\r
-// go(new QPushButton(tr("Go"))),\r
-// memBase(0),\r
-// NbWatch(0),\r
-// PtrWatchInfo(NULL)\r
Adr(0)\r
-//PtrAdr(NULL)\r
{\r
setWindowTitle(tr("Heap Allocation"));\r
\r
-// address->setInputMask("hhhhhh");\r
-// QHBoxLayout * hbox1 = new QHBoxLayout;\r
-// hbox1->addWidget(refresh);\r
-// hbox1->addWidget(address);\r
-// hbox1->addWidget(go);\r
-\r
- // Need to set the size as well...\r
-// resize(560, 480);\r
-\r
QFont fixedFont("Lucida Console", 8, QFont::Normal);\r
-// QFont fixedFont("", 8, QFont::Normal);\r
fixedFont.setStyleHint(QFont::TypeWriter);\r
text->setFont(fixedFont);\r
-//// layout->setSizeConstraint(QLayout::SetFixedSize);\r
setLayout(layout);\r
\r
layout->addWidget(text);\r
-// layout->addWidget(refresh);\r
-// layout->addLayout(hbox1);\r
-\r
-// connect(refresh, SIGNAL(clicked()), this, SLOT(RefreshContents()));\r
-// connect(go, SIGNAL(clicked()), this, SLOT(GoToAddress()));\r
}\r
\r
\r
//\r
HeapAllocatorBrowserWindow::~HeapAllocatorBrowserWindow(void)\r
{\r
-// NbWatch = 0;\r
-// free(PtrAdr);\r
}\r
\r
\r
void HeapAllocatorBrowserWindow::RefreshContents(void)\r
{\r
char string[1024];\r
-// char buf[64];\r
QString HA;\r
size_t Adr68K;\r
size_t Error = 0;\r
else\r
{\r
return RefreshContents();\r
- //sprintf(string, "<font color='#0000ff'><b>Memory allocator has been initialised</b></font>");\r
}\r
}\r
else\r
}\r
\r
\r
-#if 0\r
-void HeapAllocatorBrowserWindow::keyPressEvent(QKeyEvent * e)\r
+// \r
+void HeapAllocatorBrowserWindow::Reset(void)\r
{\r
- if (e->key() == Qt::Key_Escape)\r
- hide();\r
- else if (e->key() == Qt::Key_PageUp)\r
- {\r
- memBase -= 480;\r
-\r
- if (memBase < 0)\r
- memBase = 0;\r
-\r
- RefreshContents();\r
- }\r
- else if (e->key() == Qt::Key_PageDown)\r
- {\r
- memBase += 480;\r
-\r
- if (memBase > (0x200000 - 480))\r
- memBase = 0x200000 - 480;\r
-\r
- RefreshContents();\r
- }\r
- else if (e->key() == Qt::Key_Up || e->key() == Qt::Key_Minus)\r
- {\r
- memBase -= 16;\r
-\r
- if (memBase < 0)\r
- memBase = 0;\r
+ size_t Adr68K;\r
\r
- RefreshContents();\r
- }\r
- else if (e->key() == Qt::Key_Down || e->key() == Qt::Key_Equal)\r
+ if (DBGManager_GetAdrFromSymbolName((char *)"__HeapBase"))\r
{\r
- memBase += 16;\r
-\r
- if (memBase > (0x200000 - 480))\r
- memBase = 0x200000 - 480;\r
-\r
- RefreshContents();\r
+ if (Adr68K = DBGManager_GetGlobalVariableAdrFromName((char *)"alloc"))\r
+ {\r
+ jaguarMainRAM[Adr68K] = jaguarMainRAM[Adr68K + 1] = jaguarMainRAM[Adr68K + 2] = jaguarMainRAM[Adr68K + 3] = 0;\r
+ Adr = 0;\r
+ }\r
}\r
}\r
-#endif\r
\r
\r
-#if 0\r
-void HeapAllocatorBrowserWindow::GoToAddress(void)\r
+// \r
+void HeapAllocatorBrowserWindow::keyPressEvent(QKeyEvent * e)\r
{\r
- bool ok;\r
- QString newAddress = address->text();\r
- memBase = newAddress.toUInt(&ok, 16);\r
- RefreshContents();\r
+ if (e->key() == Qt::Key_Escape)\r
+ {\r
+ hide();\r
+ }\r
}\r
-#endif\r
\r