2005-08-30 17:51:26 +00:00
|
|
|
//============================================================================
|
|
|
|
//
|
|
|
|
// SSSS tt lll lll
|
|
|
|
// SS SS tt ll ll
|
|
|
|
// SS tttttt eeee ll ll aaaa
|
|
|
|
// SSSS tt ee ee ll ll aa
|
|
|
|
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
|
|
|
// SS SS tt ee ll ll aa aa
|
|
|
|
// SSSS ttt eeeee llll llll aaaaa
|
|
|
|
//
|
2010-01-10 02:58:28 +00:00
|
|
|
// Copyright (c) 1995-2010 by Bradford W. Mott and the Stella team
|
2005-08-30 17:51:26 +00:00
|
|
|
//
|
|
|
|
// See the file "license" for information on usage and redistribution of
|
|
|
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
|
|
//
|
2009-05-13 13:55:40 +00:00
|
|
|
// $Id$
|
2005-08-30 17:51:26 +00:00
|
|
|
//
|
|
|
|
// Based on code from ScummVM - Scumm Interpreter
|
|
|
|
// Copyright (C) 2002-2004 The ScummVM project
|
|
|
|
//============================================================================
|
|
|
|
|
|
|
|
#ifndef RAM_WIDGET_HXX
|
|
|
|
#define RAM_WIDGET_HXX
|
|
|
|
|
|
|
|
class GuiObject;
|
|
|
|
class InputTextDialog;
|
|
|
|
class ButtonWidget;
|
|
|
|
class EditTextWidget;
|
|
|
|
class StaticTextWidget;
|
|
|
|
|
|
|
|
#include "Array.hxx"
|
|
|
|
#include "Widget.hxx"
|
|
|
|
#include "Command.hxx"
|
|
|
|
#include "DataGridWidget.hxx"
|
|
|
|
|
|
|
|
|
|
|
|
class RamWidget : public Widget, public CommandSender
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
RamWidget(GuiObject* boss, const GUI::Font& font, int x, int y);
|
|
|
|
virtual ~RamWidget();
|
|
|
|
|
|
|
|
void handleCommand(CommandSender* sender, int cmd, int data, int id);
|
|
|
|
|
|
|
|
void loadConfig();
|
|
|
|
void setOpsWidget(DataGridOpsWidget* w) { myRamGrid->setOpsWidget(w); }
|
|
|
|
|
|
|
|
private:
|
|
|
|
void fillGrid(bool updateOld);
|
|
|
|
|
2008-06-19 19:15:44 +00:00
|
|
|
void showInputBox(int cmd);
|
|
|
|
string doSearch(const string& str);
|
|
|
|
string doCompare(const string& str);
|
2005-08-30 17:51:26 +00:00
|
|
|
void doRestart();
|
Added support for accessing/modifying extended RAM (aka SuperChip) from
the debugger RAM UI. A scrollbar is now present, which can scroll
through each 128 byte 'bank'. Labels indicate the current readport,
so you can distinguish between different areas of RAM. For now,
F4SC, F6SC, F8SC, and FASC have been converted, but I'm looking into the
other schemes now.
The RAM UI takes care of all read/write port issues. From the POV of
the UI, the RAM can be treated as zero-page; translation is done
behind the scene. Searching/comparing and change-tracking are also
supported.
The 'ram' command in the debugger prompt now reflects all RAM, and
readport/writeport addresses are shown, making it easier to use the
command withot having to look up the offsets.
Debugger width has been bumped to 1050 pixels wide to accomodate the
new functionality. We'll see how much trouble this causes ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1747 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-02 17:25:14 +00:00
|
|
|
void showSearchResults();
|
2005-08-30 17:51:26 +00:00
|
|
|
|
|
|
|
private:
|
2007-08-17 16:12:50 +00:00
|
|
|
enum {
|
|
|
|
kUndoCmd = 'RWud',
|
|
|
|
kRevertCmd = 'RWrv',
|
|
|
|
kSearchCmd = 'RWse',
|
|
|
|
kCmpCmd = 'RWcp',
|
|
|
|
kRestartCmd = 'RWrs',
|
|
|
|
kSValEntered = 'RWsv',
|
|
|
|
kCValEntered = 'RWcv'
|
|
|
|
};
|
|
|
|
|
2005-08-30 17:51:26 +00:00
|
|
|
int myUndoAddress;
|
|
|
|
int myUndoValue;
|
Added support for accessing/modifying extended RAM (aka SuperChip) from
the debugger RAM UI. A scrollbar is now present, which can scroll
through each 128 byte 'bank'. Labels indicate the current readport,
so you can distinguish between different areas of RAM. For now,
F4SC, F6SC, F8SC, and FASC have been converted, but I'm looking into the
other schemes now.
The RAM UI takes care of all read/write port issues. From the POV of
the UI, the RAM can be treated as zero-page; translation is done
behind the scene. Searching/comparing and change-tracking are also
supported.
The 'ram' command in the debugger prompt now reflects all RAM, and
readport/writeport addresses are shown, making it easier to use the
command withot having to look up the offsets.
Debugger width has been bumped to 1050 pixels wide to accomodate the
new functionality. We'll see how much trouble this causes ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1747 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-02 17:25:14 +00:00
|
|
|
int myCurrentRamBank;
|
|
|
|
|
|
|
|
StaticTextWidget* myRamStart;
|
|
|
|
StaticTextWidget* myRamLabels[8];
|
|
|
|
DataGridWidget* myRamGrid;
|
2005-08-30 17:51:26 +00:00
|
|
|
|
|
|
|
EditTextWidget* myBinValue;
|
|
|
|
EditTextWidget* myDecValue;
|
|
|
|
EditTextWidget* myLabel;
|
|
|
|
|
|
|
|
ButtonWidget* myRevertButton;
|
|
|
|
ButtonWidget* myUndoButton;
|
|
|
|
ButtonWidget* mySearchButton;
|
|
|
|
ButtonWidget* myCompareButton;
|
|
|
|
ButtonWidget* myRestartButton;
|
|
|
|
|
|
|
|
InputTextDialog* myInputBox;
|
|
|
|
|
|
|
|
IntArray myOldValueList;
|
|
|
|
IntArray mySearchAddr;
|
|
|
|
IntArray mySearchValue;
|
Added support for accessing/modifying extended RAM (aka SuperChip) from
the debugger RAM UI. A scrollbar is now present, which can scroll
through each 128 byte 'bank'. Labels indicate the current readport,
so you can distinguish between different areas of RAM. For now,
F4SC, F6SC, F8SC, and FASC have been converted, but I'm looking into the
other schemes now.
The RAM UI takes care of all read/write port issues. From the POV of
the UI, the RAM can be treated as zero-page; translation is done
behind the scene. Searching/comparing and change-tracking are also
supported.
The 'ram' command in the debugger prompt now reflects all RAM, and
readport/writeport addresses are shown, making it easier to use the
command withot having to look up the offsets.
Debugger width has been bumped to 1050 pixels wide to accomodate the
new functionality. We'll see how much trouble this causes ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1747 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-02 17:25:14 +00:00
|
|
|
BoolArray mySearchState;
|
2005-08-30 17:51:26 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|