updated debugger doc
|
@ -227,6 +227,14 @@ tabs from left-to-right, Shift + Control/Cmd + Tab cycles right-to-left.
|
||||||
Pressing Tab (or Shift + Tab) cycles between widgets in the current tab (except
|
Pressing Tab (or Shift + Tab) cycles between widgets in the current tab (except
|
||||||
for in the Prompt Tab, where 'tab' is used for something else).</p>
|
for in the Prompt Tab, where 'tab' is used for something else).</p>
|
||||||
|
|
||||||
|
<p>Note for the GUI display:
|
||||||
|
<ul>
|
||||||
|
<li>Hexadecimal values are either not prefixed or with '$'.</li>
|
||||||
|
<li>Decimal values are prefixed with '#'.</li>
|
||||||
|
<li>Binary values are prefixed with '%'.</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>You can also enter the debugger at emulator startup by use the 'debug'
|
<p>You can also enter the debugger at emulator startup by use the 'debug'
|
||||||
command on the command line, or alternatively within the ROM launcher in
|
command on the command line, or alternatively within the ROM launcher in
|
||||||
'Power-on options':
|
'Power-on options':
|
||||||
|
@ -1135,7 +1143,7 @@ as illustrated:</p>
|
||||||
<!-- ///////////////////////////////////////////////////////////////////////// -->
|
<!-- ///////////////////////////////////////////////////////////////////////// -->
|
||||||
<br>
|
<br>
|
||||||
<h2><a name="TIAInfo"><u>(F)</u> TIA Information</a></h2>
|
<h2><a name="TIAInfo"><u>(F)</u> TIA Information</a></h2>
|
||||||
<p>To the right of the <a href="#TIADisplay"><b>TIA Display</b></a> area, TIA information is displayed:</p>
|
<p>To the right of the <a href="#TIADisplay"><b>TIA Display</b></a> area, TIA information is displayed (all values are decimal):</p>
|
||||||
<p><img src="graphics/debugger_tiainfo.png"></p>
|
<p><img src="graphics/debugger_tiainfo.png"></p>
|
||||||
<p>The indicators are as follows (note that all these are read-only):</p>
|
<p>The indicators are as follows (note that all these are read-only):</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -1577,7 +1585,7 @@ Go ahead and try to change something!</p>
|
||||||
<p>If applicable, this area shows a detailed breakdown of any extra RAM supported by
|
<p>If applicable, this area shows a detailed breakdown of any extra RAM supported by
|
||||||
the bankswitching scheme. Since the bankswitch schemes can greatly vary in operation,
|
the bankswitching scheme. Since the bankswitch schemes can greatly vary in operation,
|
||||||
this tab will be different for each scheme, but its specific functionality should be
|
this tab will be different for each scheme, but its specific functionality should be
|
||||||
self-explanatory. An example of both F8SC (8K Atari + ram) and DPC (Pitfall II) is
|
self-explanatory. An example of both F6SC (16K Atari + ram) and DPC (Pitfall II) is
|
||||||
as follows:</p>
|
as follows:</p>
|
||||||
|
|
||||||
<p><img src="graphics/debugger_ram-f8sc.png"></p>
|
<p><img src="graphics/debugger_ram-f8sc.png"></p>
|
||||||
|
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 2.7 KiB |
|
@ -348,10 +348,10 @@ void RamWidget::fillGrid(bool updateOld)
|
||||||
|
|
||||||
// Update RAM labels
|
// Update RAM labels
|
||||||
uInt32 rport = readPort(start), page = rport & 0xf0;
|
uInt32 rport = readPort(start), page = rport & 0xf0;
|
||||||
char buf[5]; // NOLINT : convert to stringstream
|
string label = Common::Base::toString(rport, Common::Base::Fmt::_16_4);
|
||||||
std::snprintf(buf, 5, "%04X", rport);
|
|
||||||
buf[2] = buf[3] = 'x';
|
label[2] = label[3] = 'x';
|
||||||
myRamStart->setLabel(buf);
|
myRamStart->setLabel(label);
|
||||||
for(uInt32 row = 0; row < myNumRows; ++row, page += 0x10)
|
for(uInt32 row = 0; row < myNumRows; ++row, page += 0x10)
|
||||||
myRamLabels[row]->setLabel(Common::Base::toString(page>>4, Common::Base::Fmt::_16_1));
|
myRamLabels[row]->setLabel(Common::Base::toString(page>>4, Common::Base::Fmt::_16_1));
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,16 +119,16 @@ RiotWidget::RiotWidget(GuiObject* boss, const GUI::Font& lfont,
|
||||||
|
|
||||||
// Timer registers (RO)
|
// Timer registers (RO)
|
||||||
static constexpr std::array<const char*, 5> readNames = {
|
static constexpr std::array<const char*, 5> readNames = {
|
||||||
"INTIM", "TIMINT", "Total Clks", "INTIM Clks", "Divider"
|
"INTIM", "TIMINT", "Total Clks", "INTIM Clks", "Divider #"
|
||||||
};
|
};
|
||||||
xpos = 10; ypos += myTimWrite->getHeight() + lineHeight / 2;
|
xpos = 10; ypos += myTimWrite->getHeight() + lineHeight / 2;
|
||||||
for(int row = 0; row < 5; ++row)
|
for(int row = 0; row < 5; ++row)
|
||||||
{
|
{
|
||||||
t = new StaticTextWidget(boss, lfont, xpos, ypos + row*lineHeight + 2,
|
t = new StaticTextWidget(boss, lfont, xpos, ypos + row * lineHeight + 2,
|
||||||
10*fontWidth, fontHeight, readNames[row], TextAlign::Left);
|
readNames[row]);
|
||||||
}
|
}
|
||||||
xpos += t->getWidth() + 5;
|
xpos += t->getWidth() + 5;
|
||||||
myTimRead = new DataGridWidget(boss, nfont, xpos, ypos, 1, 4, 8, 32, Common::Base::Fmt::_16);
|
myTimRead = new DataGridWidget(boss, nfont, xpos, ypos, 1, 4, 4, 32, Common::Base::Fmt::_16);
|
||||||
myTimRead->setTarget(this);
|
myTimRead->setTarget(this);
|
||||||
myTimRead->setEditable(false);
|
myTimRead->setEditable(false);
|
||||||
|
|
||||||
|
|