#include "memory1browser.h"
#include "memory.h"
-#include "debugger\DBGManager.h"
+#include "debugger/DBGManager.h"
+#include "settings.h"
//
if (isVisible())
{
- sprintf(string, "Memory %i - %06X", (unsigned int)((NumWinOrigin = NumWin) + 1), (unsigned int)memOrigin);
+ sprintf(string, "Memory %i - 0x%06X", (unsigned int)((NumWinOrigin = NumWin) + 1), (unsigned int)memOrigin);
setWindowTitle(tr(string));
-
RefreshContentsWindow();
}
}
{
if (e->key() == Qt::Key_PageUp)
{
- memBase -= 480;
-
- if (memBase < 0)
+ if ((memBase -= 480) < 0)
+ {
memBase = 0;
+ }
RefreshContentsWindow();
}
{
if (e->key() == Qt::Key_PageDown)
{
- memBase += 480;
-
- if (memBase > (0x200000 - 480))
- memBase = 0x200000 - 480;
+ if ((memBase += 480) > (vjs.DRAM_size - 480))
+ {
+ memBase = vjs.DRAM_size - 480;
+ }
RefreshContentsWindow();
}
{
if (e->key() == Qt::Key_Up || e->key() == Qt::Key_Minus)
{
- memBase -= 16;
-
- if (memBase < 0)
+ if ((memBase -= 16) < 0)
+ {
memBase = 0;
+ }
RefreshContentsWindow();
}
{
if (e->key() == Qt::Key_Down || e->key() == Qt::Key_Equal)
{
- memBase += 16;
-
- if (memBase > (0x200000 - 480))
- memBase = 0x200000 - 480;
+ if ((memBase += 16) > (vjs.DRAM_size - 480))
+ {
+ memBase = vjs.DRAM_size - 480;
+ }
RefreshContentsWindow();
}
void Memory1BrowserWindow::GoToAddress(void)
{
bool ok;
+ size_t len;
QString newAddress;
+ size_t newmemBase;
+ QPalette p = address->palette();
newAddress = address->text();
- if (( newAddress.at(0) == QChar('0')) && (newAddress.at(1) == QChar('x')))
- {
- memBase = newAddress.toUInt(&ok, 16);
- }
- else
+ if ((len = newAddress.size()))
{
- if (!(memBase = DBGManager_GetAdrFromSymbolName(newAddress.toLatin1().data())))
+ if ((len > 1) && (newAddress.at(0) == QChar('0')) && (newAddress.at(1) == QChar('x')))
{
- memBase = newAddress.toUInt(&ok, 10);
+ newmemBase = newAddress.toUInt(&ok, 16);
+ }
+ else
+ {
+ if (!(newmemBase = DBGManager_GetAdrFromSymbolName(newAddress.toLatin1().data())))
+ {
+ newmemBase = newAddress.toUInt(&ok, 10);
+ }
+ else
+ {
+ ok = true;
+ }
}
- }
- memOrigin = memBase;
- RefreshContents(NumWinOrigin);
+ if (!ok || (newmemBase < 0) || (newmemBase > vjs.DRAM_size))
+ {
+ p.setColor(QPalette::Text, Qt::red);
+ }
+ else
+ {
+ p.setColor(QPalette::Text, Qt::black);
+ memOrigin = (memBase = newmemBase);
+ RefreshContents(NumWinOrigin);
+ }
+ address->setPalette(p);
+ }
}