mirror of https://github.com/stella-emu/stella.git
Merge branch 'master' into master
This commit is contained in:
commit
2adbe7a3fc
15
Changes.txt
15
Changes.txt
|
@ -46,6 +46,9 @@
|
|||
addresses; previously they only worked for write addresses
|
||||
- The previous trap'm' commands are now renamed 'trap', 'trapread'
|
||||
and 'trapwrite'
|
||||
- The TIA tab now shows 'old' contents of player and ball registers
|
||||
- Various UI items are crossed out when disabled, to more clearly
|
||||
indicate their current state
|
||||
- Command completion now works with internal functions and pseudo-ops
|
||||
(basically, anything starting with the '_' character)
|
||||
- In general, input error checking is much more strictly enforced
|
||||
|
@ -71,6 +74,12 @@
|
|||
this bug has only ever occurred in Windows XP, but it's been there
|
||||
since Stella 4.1.
|
||||
|
||||
* Fixed bug in 'Rom Audit' functionality; sometimes ROMs without a
|
||||
valid properties entry were being renamed as "Untitled.bin".
|
||||
|
||||
* For the entire UI, removed colons and generally made the UI items
|
||||
easier to read.
|
||||
|
||||
* When in 'ROM launcher mode', Stella now uses slightly less CPU time.
|
||||
|
||||
* Added ROM properties for D.K. VCS homebrew ROM, thanks to Andreas
|
||||
|
@ -112,8 +121,12 @@
|
|||
both libraries are now compiled into the app whenever one is selected.
|
||||
This fixes issues with a newer ZLIB not working with an older PNG, etc.
|
||||
|
||||
* Updated build scripts for Visual Studio 2017 (Windows) and MacOS
|
||||
Sierra (latest version of Xcode).
|
||||
|
||||
* Updated UNIX configure script to work with the clang 5+ and gcc 7+
|
||||
compiler versions.
|
||||
compiler versions, and fixed compile issues on AArch64 and ppc64le
|
||||
architectures.
|
||||
|
||||
-Have fun!
|
||||
|
||||
|
|
|
@ -25,15 +25,14 @@ AtariVoxWidget::AtariVoxWidget(GuiObject* boss, const GUI::Font& font,
|
|||
: ControllerWidget(boss, font, x, y, controller)
|
||||
{
|
||||
bool leftport = myController.jack() == Controller::Left;
|
||||
const string& label = leftport ? "Left (AtariVox):" : "Right (AtariVox):";
|
||||
const string& label = leftport ? "Left (AtariVox)" : "Right (AtariVox)";
|
||||
|
||||
const int fontWidth = font.getMaxCharWidth(),
|
||||
fontHeight = font.getFontHeight(),
|
||||
const int fontHeight = font.getFontHeight(),
|
||||
lineHeight = font.getLineHeight(),
|
||||
bwidth = font.getStringWidth("Erase EEPROM") + 20,
|
||||
bheight = lineHeight + 4;
|
||||
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (AtariVox):");
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (AtariVox)");
|
||||
StaticTextWidget* t;
|
||||
|
||||
t = new StaticTextWidget(boss, font, xpos, ypos+2, lwidth,
|
||||
|
@ -46,16 +45,18 @@ AtariVoxWidget::AtariVoxWidget(GuiObject* boss, const GUI::Font& font,
|
|||
myEEPROMErase->setTarget(this);
|
||||
ypos += lineHeight + 20;
|
||||
|
||||
new StaticTextWidget(boss, font, xpos, ypos, fontWidth*22,
|
||||
const GUI::Font& ifont = instance().frameBuffer().infoFont();
|
||||
lwidth = ifont.getMaxCharWidth() * 20;
|
||||
new StaticTextWidget(boss, ifont, xpos, ypos, lwidth,
|
||||
fontHeight, "(*) This will erase", kTextAlignLeft);
|
||||
ypos += lineHeight + 2;
|
||||
new StaticTextWidget(boss, font, xpos, ypos, fontWidth*22,
|
||||
new StaticTextWidget(boss, ifont, xpos, ypos, lwidth,
|
||||
fontHeight, "all EEPROM data, not", kTextAlignLeft);
|
||||
ypos += lineHeight + 2;
|
||||
new StaticTextWidget(boss, font, xpos, ypos, fontWidth*22,
|
||||
new StaticTextWidget(boss, ifont, xpos, ypos, lwidth,
|
||||
fontHeight, "just the range used", kTextAlignLeft);
|
||||
ypos += lineHeight + 2;
|
||||
new StaticTextWidget(boss, font, xpos, ypos, fontWidth*22,
|
||||
new StaticTextWidget(boss, ifont, xpos, ypos, lwidth,
|
||||
fontHeight, "for this ROM", kTextAlignLeft);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,10 +25,10 @@ BoosterWidget::BoosterWidget(GuiObject* boss, const GUI::Font& font,
|
|||
: ControllerWidget(boss, font, x, y, controller)
|
||||
{
|
||||
bool leftport = myController.jack() == Controller::Left;
|
||||
const string& label = leftport ? "Left (Booster):" : "Right (Booster):";
|
||||
const string& label = leftport ? "Left (Booster)" : "Right (Booster)";
|
||||
|
||||
const int fontHeight = font.getFontHeight();
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Booster):");
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Booster)");
|
||||
StaticTextWidget* t;
|
||||
|
||||
t = new StaticTextWidget(boss, font, xpos, ypos+2, lwidth,
|
||||
|
|
|
@ -50,8 +50,8 @@ Cartridge0840Widget::Cartridge0840Widget(
|
|||
VarList::push_back(items, "1 ($840)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($800) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ Cartridge3EPlusWidget::Cartridge3EPlusWidget(
|
|||
int xpos_s, ypos_s = ypos;
|
||||
|
||||
ostringstream label;
|
||||
label << "Set segment " << i << " as: ";
|
||||
label << "Set segment " << i << " as ";
|
||||
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, _font.getStringWidth(label.str()),
|
||||
myFontHeight, label.str(), kTextAlignLeft);
|
||||
|
@ -99,7 +99,7 @@ Cartridge3EPlusWidget::Cartridge3EPlusWidget(
|
|||
int xoffset = xpos_s+t->getWidth() + 10;
|
||||
myBankState[2*i] = new EditTextWidget(boss, _font, xoffset, ypos_s,
|
||||
w - xoffset - 10, myLineHeight, "");
|
||||
myBankState[2*i]->setEditable(false);
|
||||
myBankState[2*i]->setEditable(false, true);
|
||||
ypos_s += myLineHeight + 4;
|
||||
|
||||
label.str("");
|
||||
|
@ -109,7 +109,7 @@ Cartridge3EPlusWidget::Cartridge3EPlusWidget(
|
|||
|
||||
myBankState[2*i+1] = new EditTextWidget(boss, _font, xoffset, ypos_s,
|
||||
w - xoffset - 10, myLineHeight, "");
|
||||
myBankState[2*i+1]->setEditable(false);
|
||||
myBankState[2*i+1]->setEditable(false, true);
|
||||
|
||||
xpos = 10;
|
||||
ypos+= 2 * myLineHeight;
|
||||
|
|
|
@ -71,16 +71,16 @@ Cartridge3EWidget::Cartridge3EWidget(
|
|||
xpos += 40;
|
||||
myROMBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($3E) "),
|
||||
myLineHeight, romitems, "ROM ($3F): ",
|
||||
_font.getStringWidth("ROM ($3F): "), kROMBankChanged);
|
||||
myLineHeight, romitems, "ROM ($3F) ",
|
||||
_font.getStringWidth("ROM ($3F) "), kROMBankChanged);
|
||||
myROMBank->setTarget(this);
|
||||
addFocusWidget(myROMBank);
|
||||
|
||||
xpos += myROMBank->getWidth() + 20;
|
||||
myRAMBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($3E) "),
|
||||
myLineHeight, ramitems, "RAM ($3E): ",
|
||||
_font.getStringWidth("RAM ($3E): "), kRAMBankChanged);
|
||||
myLineHeight, ramitems, "RAM ($3E) ",
|
||||
_font.getStringWidth("RAM ($3E) "), kRAMBankChanged);
|
||||
myRAMBank->setTarget(this);
|
||||
addFocusWidget(myRAMBank);
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ Cartridge3FWidget::Cartridge3FWidget(
|
|||
|
||||
ostringstream label;
|
||||
label << "Set bank ($" << Common::Base::HEX4 << start << " - $" <<
|
||||
(start+0x7FF) << "): ";
|
||||
(start+0x7FF) << ") ";
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($3F) "),
|
||||
myLineHeight, items, label.str(),
|
||||
|
|
|
@ -60,7 +60,7 @@ Cartridge4A50Widget::Cartridge4A50Widget(
|
|||
string highlabel = "Set high 256B region ($FE00 - $FEFF): ";
|
||||
const int lwidth = _font.getStringWidth(middlelabel),
|
||||
fwidth = _font.getStringWidth("Inactive"),
|
||||
flwidth = _font.getStringWidth("ROM: ");
|
||||
flwidth = _font.getStringWidth("ROM ");
|
||||
|
||||
// Lower bank/region configuration
|
||||
xpos = 10;
|
||||
|
@ -71,14 +71,14 @@ Cartridge4A50Widget::Cartridge4A50Widget(
|
|||
xpos += 40;
|
||||
myROMLower =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth, myLineHeight,
|
||||
items32, "ROM: ", flwidth, kROMLowerChanged);
|
||||
items32, "ROM ", flwidth, kROMLowerChanged);
|
||||
myROMLower->setTarget(this);
|
||||
addFocusWidget(myROMLower);
|
||||
|
||||
xpos += myROMLower->getWidth() + 20;
|
||||
myRAMLower =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth, myLineHeight,
|
||||
items16, "RAM: ", flwidth, kRAMLowerChanged);
|
||||
items16, "RAM ", flwidth, kRAMLowerChanged);
|
||||
myRAMLower->setTarget(this);
|
||||
addFocusWidget(myRAMLower);
|
||||
|
||||
|
@ -91,14 +91,14 @@ Cartridge4A50Widget::Cartridge4A50Widget(
|
|||
xpos += 40;
|
||||
myROMMiddle =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth, myLineHeight,
|
||||
items32, "ROM: ", flwidth, kROMMiddleChanged);
|
||||
items32, "ROM ", flwidth, kROMMiddleChanged);
|
||||
myROMMiddle->setTarget(this);
|
||||
addFocusWidget(myROMMiddle);
|
||||
|
||||
xpos += myROMMiddle->getWidth() + 20;
|
||||
myRAMMiddle =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth, myLineHeight,
|
||||
items16, "RAM: ", flwidth, kRAMMiddleChanged);
|
||||
items16, "RAM ", flwidth, kRAMMiddleChanged);
|
||||
myRAMMiddle->setTarget(this);
|
||||
addFocusWidget(myRAMMiddle);
|
||||
|
||||
|
@ -111,14 +111,14 @@ Cartridge4A50Widget::Cartridge4A50Widget(
|
|||
xpos += 40;
|
||||
myROMHigh =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth, myLineHeight,
|
||||
items256, "ROM: ", flwidth, kROMHighChanged);
|
||||
items256, "ROM ", flwidth, kROMHighChanged);
|
||||
myROMHigh->setTarget(this);
|
||||
addFocusWidget(myROMHigh);
|
||||
|
||||
xpos += myROMHigh->getWidth() + 20;
|
||||
myRAMHigh =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth, myLineHeight,
|
||||
items128, "RAM: ", flwidth, kRAMHighChanged);
|
||||
items128, "RAM ", flwidth, kRAMHighChanged);
|
||||
myRAMHigh->setTarget(this);
|
||||
addFocusWidget(myRAMHigh);
|
||||
}
|
||||
|
|
|
@ -70,8 +70,8 @@ CartridgeARWidget::CartridgeARWidget(
|
|||
VarList::push_back(items, " 31");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth(" XX "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
|
|
@ -40,82 +40,82 @@ CartridgeBFSCWidget::CartridgeBFSCWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << std::dec << i << " @ $" << Common::Base::HEX4 << (start + 0x100)
|
||||
<< " - " << "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< " - " << "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "CPUWIZ", info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, " 0 ($F80)");
|
||||
VarList::push_back(items, " 1 ($F81)");
|
||||
VarList::push_back(items, " 2 ($F82)");
|
||||
VarList::push_back(items, " 3 ($F83)");
|
||||
VarList::push_back(items, " 4 ($F84)");
|
||||
VarList::push_back(items, " 5 ($F85)");
|
||||
VarList::push_back(items, " 6 ($F86)");
|
||||
VarList::push_back(items, " 7 ($F87)");
|
||||
VarList::push_back(items, " 8 ($F88)");
|
||||
VarList::push_back(items, " 9 ($F89)");
|
||||
VarList::push_back(items, "10 ($F8A)");
|
||||
VarList::push_back(items, "11 ($F8B)");
|
||||
VarList::push_back(items, "12 ($F8C)");
|
||||
VarList::push_back(items, "13 ($F8D)");
|
||||
VarList::push_back(items, "14 ($F8E)");
|
||||
VarList::push_back(items, "15 ($F8F)");
|
||||
VarList::push_back(items, "16 ($F90)");
|
||||
VarList::push_back(items, "17 ($F91)");
|
||||
VarList::push_back(items, "18 ($F92)");
|
||||
VarList::push_back(items, "19 ($F93)");
|
||||
VarList::push_back(items, "20 ($F94)");
|
||||
VarList::push_back(items, "21 ($F95)");
|
||||
VarList::push_back(items, "22 ($F96)");
|
||||
VarList::push_back(items, "23 ($F97)");
|
||||
VarList::push_back(items, "24 ($F98)");
|
||||
VarList::push_back(items, "25 ($F99)");
|
||||
VarList::push_back(items, "26 ($F9A)");
|
||||
VarList::push_back(items, "27 ($F9B)");
|
||||
VarList::push_back(items, "28 ($F9C)");
|
||||
VarList::push_back(items, "29 ($F9D)");
|
||||
VarList::push_back(items, "30 ($F9E)");
|
||||
VarList::push_back(items, "31 ($F9F)");
|
||||
VarList::push_back(items, "32 ($FA0)");
|
||||
VarList::push_back(items, "33 ($FA1)");
|
||||
VarList::push_back(items, "34 ($FA2)");
|
||||
VarList::push_back(items, "35 ($FA3)");
|
||||
VarList::push_back(items, "36 ($FA4)");
|
||||
VarList::push_back(items, "37 ($FA5)");
|
||||
VarList::push_back(items, "38 ($FA6)");
|
||||
VarList::push_back(items, "39 ($FA7)");
|
||||
VarList::push_back(items, "40 ($FA8)");
|
||||
VarList::push_back(items, "41 ($FA9)");
|
||||
VarList::push_back(items, "42 ($FAA)");
|
||||
VarList::push_back(items, "43 ($FAB)");
|
||||
VarList::push_back(items, "44 ($FAC)");
|
||||
VarList::push_back(items, "45 ($FAD)");
|
||||
VarList::push_back(items, "46 ($FAE)");
|
||||
VarList::push_back(items, "47 ($FAF)");
|
||||
VarList::push_back(items, "48 ($FB0)");
|
||||
VarList::push_back(items, "49 ($FB1)");
|
||||
VarList::push_back(items, "50 ($FB2)");
|
||||
VarList::push_back(items, "51 ($FB3)");
|
||||
VarList::push_back(items, "52 ($FB4)");
|
||||
VarList::push_back(items, "53 ($FB5)");
|
||||
VarList::push_back(items, "54 ($FB6)");
|
||||
VarList::push_back(items, "55 ($FB7)");
|
||||
VarList::push_back(items, "56 ($FB8)");
|
||||
VarList::push_back(items, "57 ($FB9)");
|
||||
VarList::push_back(items, "58 ($FBA)");
|
||||
VarList::push_back(items, "59 ($FBB)");
|
||||
VarList::push_back(items, "60 ($FBC)");
|
||||
VarList::push_back(items, "61 ($FBD)");
|
||||
VarList::push_back(items, "62 ($FBE)");
|
||||
VarList::push_back(items, "63 ($FBF)");
|
||||
VarList::push_back(items, " 0 ($FF80)");
|
||||
VarList::push_back(items, " 1 ($FF81)");
|
||||
VarList::push_back(items, " 2 ($FF82)");
|
||||
VarList::push_back(items, " 3 ($FF83)");
|
||||
VarList::push_back(items, " 4 ($FF84)");
|
||||
VarList::push_back(items, " 5 ($FF85)");
|
||||
VarList::push_back(items, " 6 ($FF86)");
|
||||
VarList::push_back(items, " 7 ($FF87)");
|
||||
VarList::push_back(items, " 8 ($FF88)");
|
||||
VarList::push_back(items, " 9 ($FF89)");
|
||||
VarList::push_back(items, "10 ($FF8A)");
|
||||
VarList::push_back(items, "11 ($FF8B)");
|
||||
VarList::push_back(items, "12 ($FF8C)");
|
||||
VarList::push_back(items, "13 ($FF8D)");
|
||||
VarList::push_back(items, "14 ($FF8E)");
|
||||
VarList::push_back(items, "15 ($FF8F)");
|
||||
VarList::push_back(items, "16 ($FF90)");
|
||||
VarList::push_back(items, "17 ($FF91)");
|
||||
VarList::push_back(items, "18 ($FF92)");
|
||||
VarList::push_back(items, "19 ($FF93)");
|
||||
VarList::push_back(items, "20 ($FF94)");
|
||||
VarList::push_back(items, "21 ($FF95)");
|
||||
VarList::push_back(items, "22 ($FF96)");
|
||||
VarList::push_back(items, "23 ($FF97)");
|
||||
VarList::push_back(items, "24 ($FF98)");
|
||||
VarList::push_back(items, "25 ($FF99)");
|
||||
VarList::push_back(items, "26 ($FF9A)");
|
||||
VarList::push_back(items, "27 ($FF9B)");
|
||||
VarList::push_back(items, "28 ($FF9C)");
|
||||
VarList::push_back(items, "29 ($FF9D)");
|
||||
VarList::push_back(items, "30 ($FF9E)");
|
||||
VarList::push_back(items, "31 ($FF9F)");
|
||||
VarList::push_back(items, "32 ($FFA0)");
|
||||
VarList::push_back(items, "33 ($FFA1)");
|
||||
VarList::push_back(items, "34 ($FFA2)");
|
||||
VarList::push_back(items, "35 ($FFA3)");
|
||||
VarList::push_back(items, "36 ($FFA4)");
|
||||
VarList::push_back(items, "37 ($FFA5)");
|
||||
VarList::push_back(items, "38 ($FFA6)");
|
||||
VarList::push_back(items, "39 ($FFA7)");
|
||||
VarList::push_back(items, "40 ($FFA8)");
|
||||
VarList::push_back(items, "41 ($FFA9)");
|
||||
VarList::push_back(items, "42 ($FFAA)");
|
||||
VarList::push_back(items, "43 ($FFAB)");
|
||||
VarList::push_back(items, "44 ($FFAC)");
|
||||
VarList::push_back(items, "45 ($FFAD)");
|
||||
VarList::push_back(items, "46 ($FFAE)");
|
||||
VarList::push_back(items, "47 ($FFAF)");
|
||||
VarList::push_back(items, "48 ($FFB0)");
|
||||
VarList::push_back(items, "49 ($FFB1)");
|
||||
VarList::push_back(items, "50 ($FFB2)");
|
||||
VarList::push_back(items, "51 ($FFB3)");
|
||||
VarList::push_back(items, "52 ($FFB4)");
|
||||
VarList::push_back(items, "53 ($FFB5)");
|
||||
VarList::push_back(items, "54 ($FFB6)");
|
||||
VarList::push_back(items, "55 ($FFB7)");
|
||||
VarList::push_back(items, "56 ($FFB8)");
|
||||
VarList::push_back(items, "57 ($FFB9)");
|
||||
VarList::push_back(items, "58 ($FFBA)");
|
||||
VarList::push_back(items, "59 ($FFBB)");
|
||||
VarList::push_back(items, "60 ($FFBC)");
|
||||
VarList::push_back(items, "61 ($FFBD)");
|
||||
VarList::push_back(items, "62 ($FFBE)");
|
||||
VarList::push_back(items, "63 ($FFBF)");
|
||||
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("63 ($FBF) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("63 ($FFBF) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -158,14 +158,14 @@ string CartridgeBFSCWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$F80", "$F81", "$F82", "$F83", "$F84", "$F85", "$F86", "$F87",
|
||||
"$F88", "$F89", "$F8A", "$F8B", "$F8C", "$F8D", "$F8E", "$F8F",
|
||||
"$F90", "$F91", "$F92", "$F93", "$F94", "$F95", "$F96", "$F97",
|
||||
"$F98", "$F99", "$F9A", "$F9B", "$F9C", "$F9D", "$F9E", "$F9F",
|
||||
"$FA0", "$FA1", "$FA2", "$FA3", "$FA4", "$FA5", "$FA6", "$FA7",
|
||||
"$FA8", "$FA9", "$FAA", "$FAB", "$FAC", "$FAD", "$FAE", "$FAF",
|
||||
"$FB0", "$FB1", "$FB2", "$FB3", "$FB4", "$FB5", "$FB6", "$FB7",
|
||||
"$FB8", "$FB9", "$FBA", "$FBB", "$FBC", "$FBD", "$FBE", "$FBF"
|
||||
"$FF80", "$FF81", "$FF82", "$FF83", "$FF84", "$FF85", "$FF86", "$FF87",
|
||||
"$FF88", "$FF89", "$FF8A", "$FF8B", "$FF8C", "$FF8D", "$FF8E", "$FF8F",
|
||||
"$FF90", "$FF91", "$FF92", "$FF93", "$FF94", "$FF95", "$FF96", "$FF97",
|
||||
"$FF98", "$FF99", "$FF9A", "$FF9B", "$FF9C", "$FF9D", "$FF9E", "$FF9F",
|
||||
"$FFA0", "$FFA1", "$FFA2", "$FFA3", "$FFA4", "$FFA5", "$FFA6", "$FFA7",
|
||||
"$FFA8", "$FFA9", "$FFAA", "$FFAB", "$FFAC", "$FFAD", "$FFAE", "$FFAF",
|
||||
"$FFB0", "$FFB1", "$FFB2", "$FFB3", "$FFB4", "$FFB5", "$FFB6", "$FFB7",
|
||||
"$FFB8", "$FFB9", "$FFBA", "$FFBB", "$FFBC", "$FFBD", "$FFBE", "$FFBF"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -38,82 +38,82 @@ CartridgeBFWidget::CartridgeBFWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << std::dec << i << " @ $" << Common::Base::HEX4 << start << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "CPUWIZ", info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, " 0 ($F80)");
|
||||
VarList::push_back(items, " 1 ($F81)");
|
||||
VarList::push_back(items, " 2 ($F82)");
|
||||
VarList::push_back(items, " 3 ($F83)");
|
||||
VarList::push_back(items, " 4 ($F84)");
|
||||
VarList::push_back(items, " 5 ($F85)");
|
||||
VarList::push_back(items, " 6 ($F86)");
|
||||
VarList::push_back(items, " 7 ($F87)");
|
||||
VarList::push_back(items, " 8 ($F88)");
|
||||
VarList::push_back(items, " 9 ($F89)");
|
||||
VarList::push_back(items, "10 ($F8A)");
|
||||
VarList::push_back(items, "11 ($F8B)");
|
||||
VarList::push_back(items, "12 ($F8C)");
|
||||
VarList::push_back(items, "13 ($F8D)");
|
||||
VarList::push_back(items, "14 ($F8E)");
|
||||
VarList::push_back(items, "15 ($F8F)");
|
||||
VarList::push_back(items, "16 ($F90)");
|
||||
VarList::push_back(items, "17 ($F91)");
|
||||
VarList::push_back(items, "18 ($F92)");
|
||||
VarList::push_back(items, "19 ($F93)");
|
||||
VarList::push_back(items, "20 ($F94)");
|
||||
VarList::push_back(items, "21 ($F95)");
|
||||
VarList::push_back(items, "22 ($F96)");
|
||||
VarList::push_back(items, "23 ($F97)");
|
||||
VarList::push_back(items, "24 ($F98)");
|
||||
VarList::push_back(items, "25 ($F99)");
|
||||
VarList::push_back(items, "26 ($F9A)");
|
||||
VarList::push_back(items, "27 ($F9B)");
|
||||
VarList::push_back(items, "28 ($F9C)");
|
||||
VarList::push_back(items, "29 ($F9D)");
|
||||
VarList::push_back(items, "30 ($F9E)");
|
||||
VarList::push_back(items, "31 ($F9F)");
|
||||
VarList::push_back(items, "32 ($FA0)");
|
||||
VarList::push_back(items, "33 ($FA1)");
|
||||
VarList::push_back(items, "34 ($FA2)");
|
||||
VarList::push_back(items, "35 ($FA3)");
|
||||
VarList::push_back(items, "36 ($FA4)");
|
||||
VarList::push_back(items, "37 ($FA5)");
|
||||
VarList::push_back(items, "38 ($FA6)");
|
||||
VarList::push_back(items, "39 ($FA7)");
|
||||
VarList::push_back(items, "40 ($FA8)");
|
||||
VarList::push_back(items, "41 ($FA9)");
|
||||
VarList::push_back(items, "42 ($FAA)");
|
||||
VarList::push_back(items, "43 ($FAB)");
|
||||
VarList::push_back(items, "44 ($FAC)");
|
||||
VarList::push_back(items, "45 ($FAD)");
|
||||
VarList::push_back(items, "46 ($FAE)");
|
||||
VarList::push_back(items, "47 ($FAF)");
|
||||
VarList::push_back(items, "48 ($FB0)");
|
||||
VarList::push_back(items, "49 ($FB1)");
|
||||
VarList::push_back(items, "50 ($FB2)");
|
||||
VarList::push_back(items, "51 ($FB3)");
|
||||
VarList::push_back(items, "52 ($FB4)");
|
||||
VarList::push_back(items, "53 ($FB5)");
|
||||
VarList::push_back(items, "54 ($FB6)");
|
||||
VarList::push_back(items, "55 ($FB7)");
|
||||
VarList::push_back(items, "56 ($FB8)");
|
||||
VarList::push_back(items, "57 ($FB9)");
|
||||
VarList::push_back(items, "58 ($FBA)");
|
||||
VarList::push_back(items, "59 ($FBB)");
|
||||
VarList::push_back(items, "60 ($FBC)");
|
||||
VarList::push_back(items, "61 ($FBD)");
|
||||
VarList::push_back(items, "62 ($FBE)");
|
||||
VarList::push_back(items, "63 ($FBF)");
|
||||
VarList::push_back(items, " 0 ($FF80)");
|
||||
VarList::push_back(items, " 1 ($FF81)");
|
||||
VarList::push_back(items, " 2 ($FF82)");
|
||||
VarList::push_back(items, " 3 ($FF83)");
|
||||
VarList::push_back(items, " 4 ($FF84)");
|
||||
VarList::push_back(items, " 5 ($FF85)");
|
||||
VarList::push_back(items, " 6 ($FF86)");
|
||||
VarList::push_back(items, " 7 ($FF87)");
|
||||
VarList::push_back(items, " 8 ($FF88)");
|
||||
VarList::push_back(items, " 9 ($FF89)");
|
||||
VarList::push_back(items, "10 ($FF8A)");
|
||||
VarList::push_back(items, "11 ($FF8B)");
|
||||
VarList::push_back(items, "12 ($FF8C)");
|
||||
VarList::push_back(items, "13 ($FF8D)");
|
||||
VarList::push_back(items, "14 ($FF8E)");
|
||||
VarList::push_back(items, "15 ($FF8F)");
|
||||
VarList::push_back(items, "16 ($FF90)");
|
||||
VarList::push_back(items, "17 ($FF91)");
|
||||
VarList::push_back(items, "18 ($FF92)");
|
||||
VarList::push_back(items, "19 ($FF93)");
|
||||
VarList::push_back(items, "20 ($FF94)");
|
||||
VarList::push_back(items, "21 ($FF95)");
|
||||
VarList::push_back(items, "22 ($FF96)");
|
||||
VarList::push_back(items, "23 ($FF97)");
|
||||
VarList::push_back(items, "24 ($FF98)");
|
||||
VarList::push_back(items, "25 ($FF99)");
|
||||
VarList::push_back(items, "26 ($FF9A)");
|
||||
VarList::push_back(items, "27 ($FF9B)");
|
||||
VarList::push_back(items, "28 ($FF9C)");
|
||||
VarList::push_back(items, "29 ($FF9D)");
|
||||
VarList::push_back(items, "30 ($FF9E)");
|
||||
VarList::push_back(items, "31 ($FF9F)");
|
||||
VarList::push_back(items, "32 ($FFA0)");
|
||||
VarList::push_back(items, "33 ($FFA1)");
|
||||
VarList::push_back(items, "34 ($FFA2)");
|
||||
VarList::push_back(items, "35 ($FFA3)");
|
||||
VarList::push_back(items, "36 ($FFA4)");
|
||||
VarList::push_back(items, "37 ($FFA5)");
|
||||
VarList::push_back(items, "38 ($FFA6)");
|
||||
VarList::push_back(items, "39 ($FFA7)");
|
||||
VarList::push_back(items, "40 ($FFA8)");
|
||||
VarList::push_back(items, "41 ($FFA9)");
|
||||
VarList::push_back(items, "42 ($FFAA)");
|
||||
VarList::push_back(items, "43 ($FFAB)");
|
||||
VarList::push_back(items, "44 ($FFAC)");
|
||||
VarList::push_back(items, "45 ($FFAD)");
|
||||
VarList::push_back(items, "46 ($FFAE)");
|
||||
VarList::push_back(items, "47 ($FFAF)");
|
||||
VarList::push_back(items, "48 ($FFB0)");
|
||||
VarList::push_back(items, "49 ($FFB1)");
|
||||
VarList::push_back(items, "50 ($FFB2)");
|
||||
VarList::push_back(items, "51 ($FFB3)");
|
||||
VarList::push_back(items, "52 ($FFB4)");
|
||||
VarList::push_back(items, "53 ($FFB5)");
|
||||
VarList::push_back(items, "54 ($FFB6)");
|
||||
VarList::push_back(items, "55 ($FFB7)");
|
||||
VarList::push_back(items, "56 ($FFB8)");
|
||||
VarList::push_back(items, "57 ($FFB9)");
|
||||
VarList::push_back(items, "58 ($FFBA)");
|
||||
VarList::push_back(items, "59 ($FFBB)");
|
||||
VarList::push_back(items, "60 ($FFBC)");
|
||||
VarList::push_back(items, "61 ($FFBD)");
|
||||
VarList::push_back(items, "62 ($FFBE)");
|
||||
VarList::push_back(items, "63 ($FFBF)");
|
||||
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("64 ($FBF) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("64 ($FFBF) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -145,14 +145,14 @@ string CartridgeBFWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$F80", "$F81", "$F82", "$F83", "$F84", "$F85", "$F86", "$F87",
|
||||
"$F88", "$F89", "$F8A", "$F8B", "$F8C", "$F8D", "$F8E", "$F8F",
|
||||
"$F90", "$F91", "$F92", "$F93", "$F94", "$F95", "$F96", "$F97",
|
||||
"$F98", "$F99", "$F9A", "$F9B", "$F9C", "$F9D", "$F9E", "$F9F",
|
||||
"$FA0", "$FA1", "$FA2", "$FA3", "$FA4", "$FA5", "$FA6", "$FA7",
|
||||
"$FA8", "$FA9", "$FAA", "$FAB", "$FAC", "$FAD", "$FAE", "$FAF",
|
||||
"$FB0", "$FB1", "$FB2", "$FB3", "$FB4", "$FB5", "$FB6", "$FB7",
|
||||
"$FB8", "$FB9", "$FBA", "$FBB", "$FBC", "$FBD", "$FBE", "$FBF"
|
||||
"$FF80", "$FF81", "$FF82", "$FF83", "$FF84", "$FF85", "$FF86", "$FF87",
|
||||
"$FF88", "$FF89", "$FF8A", "$FF8B", "$FF8C", "$FF8D", "$FF8E", "$FF8F",
|
||||
"$FF90", "$FF91", "$FF92", "$FF93", "$FF94", "$FF95", "$FF96", "$FF97",
|
||||
"$FF98", "$FF99", "$FF9A", "$FF9B", "$FF9C", "$FF9D", "$FF9E", "$FF9F",
|
||||
"$FFA0", "$FFA1", "$FFA2", "$FFA3", "$FFA4", "$FFA5", "$FFA6", "$FFA7",
|
||||
"$FFA8", "$FFA9", "$FFAA", "$FFAB", "$FFAC", "$FFAD", "$FFAE", "$FFAF",
|
||||
"$FFB0", "$FFB1", "$FFB2", "$FFB3", "$FFB4", "$FFB5", "$FFB6", "$FFB7",
|
||||
"$FFB8", "$FFB9", "$FFBA", "$FFBB", "$FFBC", "$FFBD", "$FFBE", "$FFBF"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -61,7 +61,7 @@ CartridgeBUSWidget::CartridgeBUSWidget(
|
|||
VarList::push_back(items, "5 ($FFFA)");
|
||||
VarList::push_back(items, "6 ($FFFB)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
|
@ -395,7 +395,7 @@ string CartridgeBUSWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FF5", "$FF6", "$FF7", "$FF8", "$FF9", "$FFA", "$FFB"
|
||||
"$FFF5", "$FFF6", "$FFF7", "$FFF8", "$FFF9", "$FFFA", "$FFFB"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -61,7 +61,7 @@ CartridgeCDFWidget::CartridgeCDFWidget(
|
|||
VarList::push_back(items, "5 ($FFFA)");
|
||||
VarList::push_back(items, "6 ($FFFB)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
|
@ -358,7 +358,7 @@ string CartridgeCDFWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FF5", "$FF6", "$FF7", "$FF8", "$FF9", "$FFA", "$FFB"
|
||||
"$FFF5", "$FFF6", "$FFF7", "$FFF8", "$FFF9", "$FFFA", "$FFFB"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -50,16 +50,16 @@ CartridgeCMWidget::CartridgeCMWidget(
|
|||
VarList::push_back(items, " 3 ");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth(" 0 "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
|
||||
// Raw SWCHA value (this will be broken down further in other UI elements)
|
||||
int lwidth = _font.getStringWidth("Current column: ");
|
||||
int lwidth = _font.getStringWidth("Current column ");
|
||||
ypos += myLineHeight + 8;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos+2, lwidth, myFontHeight,
|
||||
"Current SWCHA: ", kTextAlignLeft);
|
||||
"Current SWCHA ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
mySWCHA = new ToggleBitWidget(boss, _nfont, xpos, ypos, 8, 1);
|
||||
mySWCHA->setTarget(this);
|
||||
|
@ -68,7 +68,7 @@ CartridgeCMWidget::CartridgeCMWidget(
|
|||
// Current column number
|
||||
xpos = 10; ypos += myLineHeight + 5;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Current column: ", kTextAlignLeft);
|
||||
myFontHeight, "Current column ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myColumn = new DataGridWidget(boss, _nfont, xpos, ypos-2, 1, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -136,12 +136,12 @@ CartridgeCMWidget::CartridgeCMWidget(
|
|||
|
||||
// Ram state (combination of several bits in SWCHA)
|
||||
ypos += myLineHeight + 8;
|
||||
lwidth = _font.getStringWidth("Ram State: ");
|
||||
lwidth = _font.getStringWidth("Ram State ");
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Ram State: ", kTextAlignLeft);
|
||||
myRAM = new EditTextWidget(boss, _nfont, xpos+lwidth, ypos-1,
|
||||
myFontHeight, "Ram State ", kTextAlignLeft);
|
||||
myRAM = new EditTextWidget(boss, _nfont, xpos+lwidth, ypos-2,
|
||||
_nfont.getStringWidth(" Write-only "), myLineHeight, "");
|
||||
myRAM->setEditable(false);
|
||||
myRAM->setEditable(false, true);
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -38,17 +38,17 @@ CartridgeCTYWidget::CartridgeCTYWidget(
|
|||
ypos = addBaseInformation(size, "Chris D. Walton", info) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "1 ($FF5)");
|
||||
VarList::push_back(items, "2 ($FF6)");
|
||||
VarList::push_back(items, "3 ($FF7)");
|
||||
VarList::push_back(items, "4 ($FF8)");
|
||||
VarList::push_back(items, "5 ($FF9)");
|
||||
VarList::push_back(items, "6 ($FFA)");
|
||||
VarList::push_back(items, "7 ($FFB)");
|
||||
VarList::push_back(items, "1 ($FFF5)");
|
||||
VarList::push_back(items, "2 ($FFF6)");
|
||||
VarList::push_back(items, "3 ($FFF7)");
|
||||
VarList::push_back(items, "4 ($FFF8)");
|
||||
VarList::push_back(items, "5 ($FFF9)");
|
||||
VarList::push_back(items, "6 ($FFFA)");
|
||||
VarList::push_back(items, "7 ($FFFB)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ string CartridgeCTYWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"", "$FF5", "$FF6", "$FF7", "$FF8", "$FF9", "$FFA", "$FFB"
|
||||
"", "$FFF5", "$FFF6", "$FFF7", "$FFF8", "$FFF9", "$FFFA", "$FFFB"
|
||||
};
|
||||
uInt16 bank = myCart.getBank();
|
||||
buf << "Bank = " << std::dec << bank << ", hotspot = " << spot[bank];
|
||||
|
|
|
@ -44,7 +44,7 @@ CartridgeCVPlusWidget::CartridgeCVPlusWidget(
|
|||
VarList::push_back(items, Variant(i).toString() + " ($3D)");
|
||||
|
||||
ostringstream label;
|
||||
label << "Set bank ($F800 - $FFFF): ";
|
||||
label << "Set bank ($F800 - $FFFF) ";
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("xxx ($3D) "),
|
||||
myLineHeight, items, label.str(),
|
||||
|
|
|
@ -99,7 +99,7 @@ CartridgeDASHWidget::CartridgeDASHWidget(
|
|||
int xoffset = xpos_s+t->getWidth() + 10;
|
||||
myBankState[2*i] = new EditTextWidget(boss, _font, xoffset, ypos_s,
|
||||
w - xoffset - 10, myLineHeight, "");
|
||||
myBankState[2*i]->setEditable(false);
|
||||
myBankState[2*i]->setEditable(false, true);
|
||||
ypos_s += myLineHeight + 4;
|
||||
|
||||
label.str("");
|
||||
|
@ -109,7 +109,7 @@ CartridgeDASHWidget::CartridgeDASHWidget(
|
|||
|
||||
myBankState[2*i+1] = new EditTextWidget(boss, _font, xoffset, ypos_s,
|
||||
w - xoffset - 10, myLineHeight, "");
|
||||
myBankState[2*i+1]->setEditable(false);
|
||||
myBankState[2*i+1]->setEditable(false, true);
|
||||
|
||||
xpos = 10;
|
||||
ypos+= 2 * myLineHeight;
|
||||
|
|
|
@ -40,50 +40,50 @@ CartridgeDFSCWidget::CartridgeDFSCWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << std::dec << i << " @ $" << Common::Base::HEX4 << (start + 0x100)
|
||||
<< " - " << "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< " - " << "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "CPUWIZ", info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, " 0 ($FC0)");
|
||||
VarList::push_back(items, " 1 ($FC1)");
|
||||
VarList::push_back(items, " 2 ($FC2)");
|
||||
VarList::push_back(items, " 3 ($FC3)");
|
||||
VarList::push_back(items, " 4 ($FC4)");
|
||||
VarList::push_back(items, " 5 ($FC5)");
|
||||
VarList::push_back(items, " 6 ($FC6)");
|
||||
VarList::push_back(items, " 7 ($FC7)");
|
||||
VarList::push_back(items, " 8 ($FC8)");
|
||||
VarList::push_back(items, " 9 ($FC9)");
|
||||
VarList::push_back(items, "10 ($FCA)");
|
||||
VarList::push_back(items, "11 ($FCB)");
|
||||
VarList::push_back(items, "12 ($FCC)");
|
||||
VarList::push_back(items, "13 ($FCD)");
|
||||
VarList::push_back(items, "14 ($FCE)");
|
||||
VarList::push_back(items, "15 ($FCF)");
|
||||
VarList::push_back(items, "16 ($FD0)");
|
||||
VarList::push_back(items, "17 ($FD1)");
|
||||
VarList::push_back(items, "18 ($FD2)");
|
||||
VarList::push_back(items, "19 ($FD3)");
|
||||
VarList::push_back(items, "20 ($FD4)");
|
||||
VarList::push_back(items, "21 ($FD5)");
|
||||
VarList::push_back(items, "22 ($FD6)");
|
||||
VarList::push_back(items, "23 ($FD7)");
|
||||
VarList::push_back(items, "24 ($FD8)");
|
||||
VarList::push_back(items, "25 ($FD9)");
|
||||
VarList::push_back(items, "26 ($FDA)");
|
||||
VarList::push_back(items, "27 ($FDB)");
|
||||
VarList::push_back(items, "28 ($FDC)");
|
||||
VarList::push_back(items, "29 ($FDD)");
|
||||
VarList::push_back(items, "30 ($FDE)");
|
||||
VarList::push_back(items, "31 ($FDF)");
|
||||
VarList::push_back(items, " 0 ($FFC0)");
|
||||
VarList::push_back(items, " 1 ($FFC1)");
|
||||
VarList::push_back(items, " 2 ($FFC2)");
|
||||
VarList::push_back(items, " 3 ($FFC3)");
|
||||
VarList::push_back(items, " 4 ($FFC4)");
|
||||
VarList::push_back(items, " 5 ($FFC5)");
|
||||
VarList::push_back(items, " 6 ($FFC6)");
|
||||
VarList::push_back(items, " 7 ($FFC7)");
|
||||
VarList::push_back(items, " 8 ($FFC8)");
|
||||
VarList::push_back(items, " 9 ($FFC9)");
|
||||
VarList::push_back(items, "10 ($FFCA)");
|
||||
VarList::push_back(items, "11 ($FFCB)");
|
||||
VarList::push_back(items, "12 ($FFCC)");
|
||||
VarList::push_back(items, "13 ($FFCD)");
|
||||
VarList::push_back(items, "14 ($FFCE)");
|
||||
VarList::push_back(items, "15 ($FFCF)");
|
||||
VarList::push_back(items, "16 ($FFD0)");
|
||||
VarList::push_back(items, "17 ($FFD1)");
|
||||
VarList::push_back(items, "18 ($FFD2)");
|
||||
VarList::push_back(items, "19 ($FFD3)");
|
||||
VarList::push_back(items, "20 ($FFD4)");
|
||||
VarList::push_back(items, "21 ($FFD5)");
|
||||
VarList::push_back(items, "22 ($FFD6)");
|
||||
VarList::push_back(items, "23 ($FFD7)");
|
||||
VarList::push_back(items, "24 ($FFD8)");
|
||||
VarList::push_back(items, "25 ($FFD9)");
|
||||
VarList::push_back(items, "26 ($FFDA)");
|
||||
VarList::push_back(items, "27 ($FFDB)");
|
||||
VarList::push_back(items, "28 ($FFDC)");
|
||||
VarList::push_back(items, "29 ($FFDD)");
|
||||
VarList::push_back(items, "30 ($FFDE)");
|
||||
VarList::push_back(items, "31 ($FFDF)");
|
||||
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("31 ($FE0) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("31 ($FFE0) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -126,10 +126,10 @@ string CartridgeDFSCWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FC0", "$FC1", "$FC2", "$FC3", "$FC4", "$FC5", "$FC6", "$FC7",
|
||||
"$FC8", "$FC9", "$FCA", "$FCB", "$FCC", "$FCD", "$FCE", "$FCF",
|
||||
"$FD0", "$FD1", "$FD2", "$FD3", "$FD4", "$FD5", "$FD6", "$FE7",
|
||||
"$FD8", "$FD9", "$FDA", "$FDB", "$FDC", "$FDD", "$FDE", "$FDF"
|
||||
"$FFC0", "$FFC1", "$FFC2", "$FFC3", "$FFC4", "$FFC5", "$FFC6", "$FFC7",
|
||||
"$FFC8", "$FFC9", "$FFCA", "$FFCB", "$FFCC", "$FFCD", "$FFCE", "$FFCF",
|
||||
"$FFD0", "$FFD1", "$FFD2", "$FFD3", "$FFD4", "$FFD5", "$FFD6", "$FFE7",
|
||||
"$FFD8", "$FFD9", "$FFDA", "$FFDB", "$FFDC", "$FFDD", "$FFDE", "$FFDF"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -38,50 +38,50 @@ CartridgeDFWidget::CartridgeDFWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << std::dec << i << " @ $" << Common::Base::HEX4 << start << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "CPUWIZ", info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, " 0 ($FC0)");
|
||||
VarList::push_back(items, " 1 ($FC1)");
|
||||
VarList::push_back(items, " 2 ($FC2)");
|
||||
VarList::push_back(items, " 3 ($FC3)");
|
||||
VarList::push_back(items, " 4 ($FC4)");
|
||||
VarList::push_back(items, " 5 ($FC5)");
|
||||
VarList::push_back(items, " 6 ($FC6)");
|
||||
VarList::push_back(items, " 7 ($FC7)");
|
||||
VarList::push_back(items, " 8 ($FC8)");
|
||||
VarList::push_back(items, " 9 ($FC9)");
|
||||
VarList::push_back(items, "10 ($FCA)");
|
||||
VarList::push_back(items, "11 ($FCB)");
|
||||
VarList::push_back(items, "12 ($FCC)");
|
||||
VarList::push_back(items, "13 ($FCD)");
|
||||
VarList::push_back(items, "14 ($FCE)");
|
||||
VarList::push_back(items, "15 ($FCF)");
|
||||
VarList::push_back(items, "16 ($FD0)");
|
||||
VarList::push_back(items, "17 ($FD1)");
|
||||
VarList::push_back(items, "18 ($FD2)");
|
||||
VarList::push_back(items, "19 ($FD3)");
|
||||
VarList::push_back(items, "20 ($FD4)");
|
||||
VarList::push_back(items, "21 ($FD5)");
|
||||
VarList::push_back(items, "22 ($FD6)");
|
||||
VarList::push_back(items, "23 ($FD7)");
|
||||
VarList::push_back(items, "24 ($FD8)");
|
||||
VarList::push_back(items, "25 ($FD9)");
|
||||
VarList::push_back(items, "26 ($FDA)");
|
||||
VarList::push_back(items, "27 ($FDB)");
|
||||
VarList::push_back(items, "28 ($FDC)");
|
||||
VarList::push_back(items, "29 ($FDD)");
|
||||
VarList::push_back(items, "30 ($FDE)");
|
||||
VarList::push_back(items, "31 ($FDF)");
|
||||
VarList::push_back(items, " 0 ($FFC0)");
|
||||
VarList::push_back(items, " 1 ($FFC1)");
|
||||
VarList::push_back(items, " 2 ($FFC2)");
|
||||
VarList::push_back(items, " 3 ($FFC3)");
|
||||
VarList::push_back(items, " 4 ($FFC4)");
|
||||
VarList::push_back(items, " 5 ($FFC5)");
|
||||
VarList::push_back(items, " 6 ($FFC6)");
|
||||
VarList::push_back(items, " 7 ($FFC7)");
|
||||
VarList::push_back(items, " 8 ($FFC8)");
|
||||
VarList::push_back(items, " 9 ($FFC9)");
|
||||
VarList::push_back(items, "10 ($FFCA)");
|
||||
VarList::push_back(items, "11 ($FFCB)");
|
||||
VarList::push_back(items, "12 ($FFCC)");
|
||||
VarList::push_back(items, "13 ($FFCD)");
|
||||
VarList::push_back(items, "14 ($FFCE)");
|
||||
VarList::push_back(items, "15 ($FFCF)");
|
||||
VarList::push_back(items, "16 ($FFD0)");
|
||||
VarList::push_back(items, "17 ($FFD1)");
|
||||
VarList::push_back(items, "18 ($FFD2)");
|
||||
VarList::push_back(items, "19 ($FFD3)");
|
||||
VarList::push_back(items, "20 ($FFD4)");
|
||||
VarList::push_back(items, "21 ($FFD5)");
|
||||
VarList::push_back(items, "22 ($FFD6)");
|
||||
VarList::push_back(items, "23 ($FFD7)");
|
||||
VarList::push_back(items, "24 ($FFD8)");
|
||||
VarList::push_back(items, "25 ($FFD9)");
|
||||
VarList::push_back(items, "26 ($FFDA)");
|
||||
VarList::push_back(items, "27 ($FFDB)");
|
||||
VarList::push_back(items, "28 ($FFDC)");
|
||||
VarList::push_back(items, "29 ($FFDD)");
|
||||
VarList::push_back(items, "30 ($FFDE)");
|
||||
VarList::push_back(items, "31 ($FFDF)");
|
||||
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("31 ($FDF) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("31 ($FFDF) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -113,10 +113,10 @@ string CartridgeDFWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FC0", "$FC1", "$FC2", "$FC3", "$FC4", "$FC5", "$FC6", "$FC7",
|
||||
"$FC8", "$FC9", "$FCA", "$FCB", "$FCC", "$FCD", "$FCE", "$FCF",
|
||||
"$FD0", "$FD1", "$FD2", "$FD3", "$FD4", "$FD5", "$FD6", "$FD7",
|
||||
"$FD8", "$FD9", "$FDA", "$FDB", "$FDC", "$FDD", "$FDE", "$FDF"
|
||||
"$FFC0", "$FFC1", "$FFC2", "$FFC3", "$FFC4", "$FFC5", "$FFC6", "$FFC7",
|
||||
"$FFC8", "$FFC9", "$FFCA", "$FFCB", "$FFCC", "$FFCD", "$FFCE", "$FFCF",
|
||||
"$FFD0", "$FFD1", "$FFD2", "$FFD3", "$FFD4", "$FFD5", "$FFD6", "$FFD7",
|
||||
"$FFD8", "$FFD9", "$FFDA", "$FFDB", "$FFDC", "$FFDD", "$FFDE", "$FFDF"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -34,7 +34,7 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
<< "8K DPC RAM\n"
|
||||
<< "DPC registers accessible @ $F000 - $F07F\n"
|
||||
<< " $F000 - $F03F (R), $F040 - $F07F (W)\n"
|
||||
<< "Banks accessible at hotspots $FF6 to $FFB\n"
|
||||
<< "Banks accessible at hotspots $FFF6 to $FFFB\n"
|
||||
<< "Startup bank = " << cart.myStartBank << "\n";
|
||||
|
||||
#if 0
|
||||
|
@ -53,24 +53,24 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF6)");
|
||||
VarList::push_back(items, "1 ($FF7)");
|
||||
VarList::push_back(items, "2 ($FF8)");
|
||||
VarList::push_back(items, "3 ($FF9)");
|
||||
VarList::push_back(items, "4 ($FFA)");
|
||||
VarList::push_back(items, "5 ($FFB)");
|
||||
VarList::push_back(items, "0 ($FFF6)");
|
||||
VarList::push_back(items, "1 ($FFF7)");
|
||||
VarList::push_back(items, "2 ($FFF8)");
|
||||
VarList::push_back(items, "3 ($FFF9)");
|
||||
VarList::push_back(items, "4 ($FFFA)");
|
||||
VarList::push_back(items, "5 ($FFFB)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
|
||||
// Top registers
|
||||
int lwidth = _font.getStringWidth("Counter Registers: ");
|
||||
int lwidth = _font.getStringWidth("Counter Registers ");
|
||||
xpos = 10; ypos += myLineHeight + 8;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Top Registers: ", kTextAlignLeft);
|
||||
myFontHeight, "Top Registers ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myTops = new DataGridWidget(boss, _nfont, xpos, ypos-2, 8, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -80,7 +80,7 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
// Bottom registers
|
||||
xpos = 10; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Bottom Registers: ", kTextAlignLeft);
|
||||
myFontHeight, "Bottom Registers ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myBottoms = new DataGridWidget(boss, _nfont, xpos, ypos-2, 8, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -90,7 +90,7 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
// Counter registers
|
||||
xpos = 10; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Counter Registers: ", kTextAlignLeft);
|
||||
myFontHeight, "Counter Registers ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myCounters = new DataGridWidget(boss, _nfont, xpos, ypos-2, 8, 1, 4, 16, Common::Base::F_16_4);
|
||||
|
@ -100,7 +100,7 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
// Fractional counter registers
|
||||
xpos = 10; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Frac Counters: ", kTextAlignLeft);
|
||||
myFontHeight, "Frac Counters ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myFracCounters = new DataGridWidget(boss, _nfont, xpos, ypos-2, 4, 2, 8, 32, Common::Base::F_16_8);
|
||||
|
@ -110,7 +110,7 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
// Fractional increment registers
|
||||
xpos = 10; ypos += myFracCounters->getHeight() + 8;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Frac Increments: ", kTextAlignLeft);
|
||||
myFontHeight, "Frac Increments ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myFracIncrements = new DataGridWidget(boss, _nfont, xpos, ypos-2, 8, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -120,7 +120,7 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
// Special function parameters
|
||||
xpos = 10; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Function Params: ", kTextAlignLeft);
|
||||
myFontHeight, "Function Params ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myParameter = new DataGridWidget(boss, _nfont, xpos, ypos-2, 8, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -130,7 +130,7 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
// Music counters
|
||||
xpos = 10; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Music Counters: ", kTextAlignLeft);
|
||||
myFontHeight, "Music Counters ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myMusicCounters = new DataGridWidget(boss, _nfont, xpos, ypos-2, 3, 1, 8, 32, Common::Base::F_16_8);
|
||||
|
@ -140,7 +140,7 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
// Music frequencies
|
||||
xpos = 10; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Music Frequencies: ", kTextAlignLeft);
|
||||
myFontHeight, "Music Frequencies ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myMusicFrequencies = new DataGridWidget(boss, _nfont, xpos, ypos-2, 3, 1, 8, 32, Common::Base::F_16_8);
|
||||
|
@ -150,7 +150,7 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
// Music waveforms
|
||||
xpos = 10; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Music Waveforms: ", kTextAlignLeft);
|
||||
myFontHeight, "Music Waveforms ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myMusicWaveforms = new DataGridWidget(boss, _nfont, xpos, ypos-2, 3, 1, 4, 16, Common::Base::F_16_4);
|
||||
|
@ -158,10 +158,10 @@ CartridgeDPCPlusWidget::CartridgeDPCPlusWidget(
|
|||
myMusicWaveforms->setEditable(false);
|
||||
|
||||
// Current random number
|
||||
lwidth = _font.getStringWidth("Current random number: ");
|
||||
lwidth = _font.getStringWidth("Current random number ");
|
||||
xpos = 10; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Current random number: ", kTextAlignLeft);
|
||||
myFontHeight, "Current random number ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myRandom = new DataGridWidget(boss, _nfont, xpos, ypos-2, 1, 1, 8, 32, Common::Base::F_16_8);
|
||||
|
@ -325,7 +325,7 @@ string CartridgeDPCPlusWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FF6", "$FF7", "$FF8", "$FF9", "$FFA", "$FFB"
|
||||
"$FFF6", "$FFF7", "$FFF8", "$FFF9", "$FFFA", "$FFFB"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -42,7 +42,7 @@ CartridgeDPCWidget::CartridgeDPCWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << i << " @ $" << Common::Base::HEX4 << (start + 0x80) << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
|
@ -50,26 +50,26 @@ CartridgeDPCWidget::CartridgeDPCWidget(
|
|||
myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF8)");
|
||||
VarList::push_back(items, "1 ($FF9)");
|
||||
VarList::push_back(items, "0 ($FFF8)");
|
||||
VarList::push_back(items, "1 ($FFF9)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
ypos += myLineHeight + 8;
|
||||
|
||||
// Data fetchers
|
||||
int lwidth = _font.getStringWidth("Data Fetchers: ");
|
||||
int lwidth = _font.getStringWidth("Data Fetchers ");
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Data Fetchers: ", kTextAlignLeft);
|
||||
myFontHeight, "Data Fetchers ", kTextAlignLeft);
|
||||
|
||||
// Top registers
|
||||
lwidth = _font.getStringWidth("Counter Registers: ");
|
||||
lwidth = _font.getStringWidth("Counter Registers ");
|
||||
xpos = 18; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Top Registers: ", kTextAlignLeft);
|
||||
myFontHeight, "Top Registers ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myTops = new DataGridWidget(boss, _nfont, xpos, ypos-2, 8, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -79,7 +79,7 @@ CartridgeDPCWidget::CartridgeDPCWidget(
|
|||
// Bottom registers
|
||||
xpos = 18; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Bottom Registers: ", kTextAlignLeft);
|
||||
myFontHeight, "Bottom Registers ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myBottoms = new DataGridWidget(boss, _nfont, xpos, ypos-2, 8, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -89,7 +89,7 @@ CartridgeDPCWidget::CartridgeDPCWidget(
|
|||
// Counter registers
|
||||
xpos = 18; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Counter Registers: ", kTextAlignLeft);
|
||||
myFontHeight, "Counter Registers ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myCounters = new DataGridWidget(boss, _nfont, xpos, ypos-2, 8, 1, 4, 16, Common::Base::F_16_4);
|
||||
|
@ -99,7 +99,7 @@ CartridgeDPCWidget::CartridgeDPCWidget(
|
|||
// Flag registers
|
||||
xpos = 18; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Flag Registers: ", kTextAlignLeft);
|
||||
myFontHeight, "Flag Registers ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myFlags = new DataGridWidget(boss, _nfont, xpos, ypos-2, 8, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -108,9 +108,9 @@ CartridgeDPCWidget::CartridgeDPCWidget(
|
|||
|
||||
// Music mode
|
||||
xpos = 10; ypos += myLineHeight + 12;
|
||||
lwidth = _font.getStringWidth("Music mode (DF5/DF6/DF7): ");
|
||||
lwidth = _font.getStringWidth("Music mode (DF5/DF6/DF7) ");
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Music mode (DF5/DF6/DF7): ", kTextAlignLeft);
|
||||
myFontHeight, "Music mode (DF5/DF6/DF7) ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myMusicMode = new DataGridWidget(boss, _nfont, xpos, ypos-2, 3, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -120,7 +120,7 @@ CartridgeDPCWidget::CartridgeDPCWidget(
|
|||
// Current random number
|
||||
xpos = 10; ypos += myLineHeight + 4;
|
||||
new StaticTextWidget(boss, _font, xpos, ypos, lwidth,
|
||||
myFontHeight, "Current random number: ", kTextAlignLeft);
|
||||
myFontHeight, "Current random number ", kTextAlignLeft);
|
||||
xpos += lwidth;
|
||||
|
||||
myRandom = new DataGridWidget(boss, _nfont, xpos, ypos-2, 1, 1, 2, 8, Common::Base::F_16);
|
||||
|
@ -227,7 +227,7 @@ string CartridgeDPCWidget::bankState()
|
|||
{
|
||||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = { "$FF8", "$FF9" };
|
||||
static const char* spot[] = { "$FFF8", "$FFF9" };
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
||||
|
|
|
@ -20,16 +20,16 @@
|
|||
#include "CartE0Widget.hxx"
|
||||
|
||||
static const char* seg0[] = {
|
||||
"0 ($FE0)", "1 ($FE1)", "2 ($FE2)", "3 ($FE3)",
|
||||
"4 ($FE4)", "5 ($FE5)", "6 ($FE6)", "7 ($FE7)"
|
||||
"0 ($FFE0)", "1 ($FFE1)", "2 ($FFE2)", "3 ($FFE3)",
|
||||
"4 ($FFE4)", "5 ($FFE5)", "6 ($FFE6)", "7 ($FFE7)"
|
||||
};
|
||||
static const char* seg1[] = {
|
||||
"0 ($FE8)", "1 ($FE9)", "2 ($FEA)", "3 ($FEB)",
|
||||
"4 ($FEC)", "5 ($FED)", "6 ($FEE)", "7 ($FEF)"
|
||||
"0 ($FFE8)", "1 ($FFE9)", "2 ($FFEA)", "3 ($FFEB)",
|
||||
"4 ($FFEC)", "5 ($FFED)", "6 ($FFEE)", "7 ($FFEF)"
|
||||
};
|
||||
static const char* seg2[] = {
|
||||
"0 ($FF0)", "1 ($FF1)", "2 ($FF2)", "3 ($FF3)",
|
||||
"4 ($FF4)", "5 ($FF5)", "6 ($FF6)", "7 ($FF7)"
|
||||
"0 ($FFF0)", "1 ($FFF1)", "2 ($FFF2)", "3 ($FFF3)",
|
||||
"4 ($FFF4)", "5 ($FFF5)", "6 ($FFF6)", "7 ($FFF7)"
|
||||
};
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -70,26 +70,26 @@ CartridgeE0Widget::CartridgeE0Widget(
|
|||
VarList::push_back(items2, seg2[i]);
|
||||
}
|
||||
|
||||
const int lwidth = _font.getStringWidth("Set slice for segment X: ");
|
||||
const int lwidth = _font.getStringWidth("Set slice for segment X ");
|
||||
mySlice0 =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("7 ($FF7)"),
|
||||
myLineHeight, items0, "Set slice for segment 0: ",
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("7 ($FFF7)"),
|
||||
myLineHeight, items0, "Set slice for segment 0 ",
|
||||
lwidth, kSlice0Changed);
|
||||
mySlice0->setTarget(this);
|
||||
addFocusWidget(mySlice0);
|
||||
ypos += mySlice0->getHeight() + 4;
|
||||
|
||||
mySlice1 =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("7 ($FF7)"),
|
||||
myLineHeight, items1, "Set slice for segment 1: ",
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("7 ($FFF7)"),
|
||||
myLineHeight, items1, "Set slice for segment 1 ",
|
||||
lwidth, kSlice1Changed);
|
||||
mySlice1->setTarget(this);
|
||||
addFocusWidget(mySlice1);
|
||||
ypos += mySlice1->getHeight() + 4;
|
||||
|
||||
mySlice2 =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("7 ($FF7)"),
|
||||
myLineHeight, items2, "Set slice for segment 2: ",
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("7 ($FFF7)"),
|
||||
myLineHeight, items2, "Set slice for segment 2 ",
|
||||
lwidth, kSlice2Changed);
|
||||
mySlice2->setTarget(this);
|
||||
addFocusWidget(mySlice2);
|
||||
|
|
|
@ -20,11 +20,11 @@
|
|||
#include "CartE7Widget.hxx"
|
||||
|
||||
static const char* spot_lower[] = {
|
||||
"0 - ROM ($FE0)", "1 - ROM ($FE1)", "2 - ROM ($FE2)", "3 - ROM ($FE3)",
|
||||
"4 - ROM ($FE4)", "5 - ROM ($FE5)", "6 - ROM ($FE6)", "7 - RAM ($FE7)"
|
||||
"0 - ROM ($FFE0)", "1 - ROM ($FFE1)", "2 - ROM ($FFE2)", "3 - ROM ($FFE3)",
|
||||
"4 - ROM ($FFE4)", "5 - ROM ($FFE5)", "6 - ROM ($FFE6)", "7 - RAM ($FFE7)"
|
||||
};
|
||||
static const char* spot_upper[] = {
|
||||
"0 - RAM ($FE8)", "1 - RAM ($FE9)", "2 - RAM ($FEA)", "3 - RAM ($FEB)"
|
||||
"0 - RAM ($FFE8)", "1 - RAM ($FFE9)", "2 - RAM ($FFEA)", "3 - RAM ($FFEB)"
|
||||
};
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -65,18 +65,18 @@ CartridgeE7Widget::CartridgeE7Widget(
|
|||
for(int i = 0; i < 4; ++i)
|
||||
VarList::push_back(items1, spot_upper[i]);
|
||||
|
||||
const int lwidth = _font.getStringWidth("Set slice for upper 256B: "),
|
||||
fwidth = _font.getStringWidth("3 - RAM ($FEB)");
|
||||
const int lwidth = _font.getStringWidth("Set slice for upper 256B "),
|
||||
fwidth = _font.getStringWidth("3 - RAM ($FFEB)");
|
||||
myLower2K =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth, myLineHeight, items0,
|
||||
"Set slice for lower 2K: ", lwidth, kLowerChanged);
|
||||
"Set slice for lower 2K ", lwidth, kLowerChanged);
|
||||
myLower2K->setTarget(this);
|
||||
addFocusWidget(myLower2K);
|
||||
ypos += myLower2K->getHeight() + 4;
|
||||
|
||||
myUpper256B =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth, myLineHeight, items1,
|
||||
"Set slice for upper 256B: ", lwidth, kUpperChanged);
|
||||
"Set slice for upper 256B ", lwidth, kUpperChanged);
|
||||
myUpper256B->setTarget(this);
|
||||
addFocusWidget(myUpper256B);
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ CartridgeEFSCWidget::CartridgeEFSCWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << std::dec << i << " @ $" << Common::Base::HEX4 << (start + 0x100)
|
||||
<< " - " << "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< " - " << "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
|
@ -48,26 +48,26 @@ CartridgeEFSCWidget::CartridgeEFSCWidget(
|
|||
info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, " 0 ($FE0)");
|
||||
VarList::push_back(items, " 1 ($FE1)");
|
||||
VarList::push_back(items, " 2 ($FE2)");
|
||||
VarList::push_back(items, " 3 ($FE3)");
|
||||
VarList::push_back(items, " 4 ($FE4)");
|
||||
VarList::push_back(items, " 5 ($FE5)");
|
||||
VarList::push_back(items, " 6 ($FE6)");
|
||||
VarList::push_back(items, " 7 ($FE7)");
|
||||
VarList::push_back(items, " 8 ($FE8)");
|
||||
VarList::push_back(items, " 9 ($FE9)");
|
||||
VarList::push_back(items, "10 ($FEA)");
|
||||
VarList::push_back(items, "11 ($FEB)");
|
||||
VarList::push_back(items, "12 ($FEC)");
|
||||
VarList::push_back(items, "13 ($FED)");
|
||||
VarList::push_back(items, "14 ($FEE)");
|
||||
VarList::push_back(items, "15 ($FEF)");
|
||||
VarList::push_back(items, " 0 ($FFE0)");
|
||||
VarList::push_back(items, " 1 ($FFE1)");
|
||||
VarList::push_back(items, " 2 ($FFE2)");
|
||||
VarList::push_back(items, " 3 ($FFE3)");
|
||||
VarList::push_back(items, " 4 ($FFE4)");
|
||||
VarList::push_back(items, " 5 ($FFE5)");
|
||||
VarList::push_back(items, " 6 ($FFE6)");
|
||||
VarList::push_back(items, " 7 ($FFE7)");
|
||||
VarList::push_back(items, " 8 ($FFE8)");
|
||||
VarList::push_back(items, " 9 ($FFE9)");
|
||||
VarList::push_back(items, "10 ($FFEA)");
|
||||
VarList::push_back(items, "11 ($FFEB)");
|
||||
VarList::push_back(items, "12 ($FFEC)");
|
||||
VarList::push_back(items, "13 ($FFED)");
|
||||
VarList::push_back(items, "14 ($FFEE)");
|
||||
VarList::push_back(items, "15 ($FFEF)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("15 ($FE0) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("15 ($FFE0) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -110,8 +110,8 @@ string CartridgeEFSCWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FE0", "$FE1", "$FE2", "$FE3", "$FE4", "$FE5", "$FE6", "$FE7",
|
||||
"$FE8", "$FE9", "$FEA", "$FEB", "$FEC", "$FED", "$FEE", "$FEF"
|
||||
"$FFE0", "$FFE1", "$FFE2", "$FFE3", "$FFE4", "$FFE5", "$FFE6", "$FFE7",
|
||||
"$FFE8", "$FFE9", "$FFEA", "$FFEB", "$FFEC", "$FFED", "$FFEE", "$FFEF"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -38,7 +38,7 @@ CartridgeEFWidget::CartridgeEFWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << std::dec << i << " @ $" << Common::Base::HEX4 << start << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
|
@ -46,26 +46,26 @@ CartridgeEFWidget::CartridgeEFWidget(
|
|||
info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, " 0 ($FE0)");
|
||||
VarList::push_back(items, " 1 ($FE1)");
|
||||
VarList::push_back(items, " 2 ($FE2)");
|
||||
VarList::push_back(items, " 3 ($FE3)");
|
||||
VarList::push_back(items, " 4 ($FE4)");
|
||||
VarList::push_back(items, " 5 ($FE5)");
|
||||
VarList::push_back(items, " 6 ($FE6)");
|
||||
VarList::push_back(items, " 7 ($FE7)");
|
||||
VarList::push_back(items, " 8 ($FE8)");
|
||||
VarList::push_back(items, " 9 ($FE9)");
|
||||
VarList::push_back(items, "10 ($FEA)");
|
||||
VarList::push_back(items, "11 ($FEB)");
|
||||
VarList::push_back(items, "12 ($FEC)");
|
||||
VarList::push_back(items, "13 ($FED)");
|
||||
VarList::push_back(items, "14 ($FEE)");
|
||||
VarList::push_back(items, "15 ($FEF)");
|
||||
VarList::push_back(items, " 0 ($FFE0)");
|
||||
VarList::push_back(items, " 1 ($FFE1)");
|
||||
VarList::push_back(items, " 2 ($FFE2)");
|
||||
VarList::push_back(items, " 3 ($FFE3)");
|
||||
VarList::push_back(items, " 4 ($FFE4)");
|
||||
VarList::push_back(items, " 5 ($FFE5)");
|
||||
VarList::push_back(items, " 6 ($FFE6)");
|
||||
VarList::push_back(items, " 7 ($FFE7)");
|
||||
VarList::push_back(items, " 8 ($FFE8)");
|
||||
VarList::push_back(items, " 9 ($FFE9)");
|
||||
VarList::push_back(items, "10 ($FFEA)");
|
||||
VarList::push_back(items, "11 ($FFEB)");
|
||||
VarList::push_back(items, "12 ($FFEC)");
|
||||
VarList::push_back(items, "13 ($FFED)");
|
||||
VarList::push_back(items, "14 ($FFEE)");
|
||||
VarList::push_back(items, "15 ($FFEF)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("15 ($FE0) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("15 ($FFE0) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -97,8 +97,8 @@ string CartridgeEFWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FE0", "$FE1", "$FE2", "$FE3", "$FE4", "$FE5", "$FE6", "$FE7",
|
||||
"$FE8", "$FE9", "$FEA", "$FEB", "$FEC", "$FED", "$FEE", "$FEF"
|
||||
"$FFE0", "$FFE1", "$FFE2", "$FFE3", "$FFE4", "$FFE5", "$FFE6", "$FFE7",
|
||||
"$FFE8", "$FFE9", "$FFEA", "$FFEB", "$FFEC", "$FFED", "$FFEE", "$FFEF"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -65,8 +65,8 @@ CartridgeF0Widget::CartridgeF0Widget(
|
|||
VarList::push_back(items, " 15");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth(" 15 "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ string CartridgeF0Widget::bankState()
|
|||
{
|
||||
ostringstream& buf = buffer();
|
||||
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank << ", hotspot = $FF0";
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank << ", hotspot = $FFF0";
|
||||
|
||||
return buf.str();
|
||||
}
|
||||
|
|
|
@ -40,25 +40,25 @@ CartridgeF4SCWidget::CartridgeF4SCWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << i << " @ $" << Common::Base::HEX4 << (start + 0x100) << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "Atari", info.str(), 15) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF4)");
|
||||
VarList::push_back(items, "1 ($FF5)");
|
||||
VarList::push_back(items, "2 ($FF6)");
|
||||
VarList::push_back(items, "3 ($FF7)");
|
||||
VarList::push_back(items, "4 ($FF8)");
|
||||
VarList::push_back(items, "5 ($FF9)");
|
||||
VarList::push_back(items, "6 ($FFA)");
|
||||
VarList::push_back(items, "7 ($FFB)");
|
||||
VarList::push_back(items, "0 ($FFF4)");
|
||||
VarList::push_back(items, "1 ($FFF5)");
|
||||
VarList::push_back(items, "2 ($FFF6)");
|
||||
VarList::push_back(items, "3 ($FFF7)");
|
||||
VarList::push_back(items, "4 ($FFF8)");
|
||||
VarList::push_back(items, "5 ($FFF9)");
|
||||
VarList::push_back(items, "6 ($FFFA)");
|
||||
VarList::push_back(items, "7 ($FFFB)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ string CartridgeF4SCWidget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FF4", "$FF5", "$FF6", "$FF7", "$FF8", "$FF9", "$FFA", "$FFB"
|
||||
"$FFF4", "$FFF5", "$FFF6", "$FFF7", "$FFF8", "$FFF9", "$FFFA", "$FFFB"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -38,25 +38,25 @@ CartridgeF4Widget::CartridgeF4Widget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << i << " @ $" << Common::Base::HEX4 << start << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "Atari", info.str(), 15) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF4)");
|
||||
VarList::push_back(items, "1 ($FF5)");
|
||||
VarList::push_back(items, "2 ($FF6)");
|
||||
VarList::push_back(items, "3 ($FF7)");
|
||||
VarList::push_back(items, "4 ($FF8)");
|
||||
VarList::push_back(items, "5 ($FF9)");
|
||||
VarList::push_back(items, "6 ($FFA)");
|
||||
VarList::push_back(items, "7 ($FFB)");
|
||||
VarList::push_back(items, "0 ($FFF4)");
|
||||
VarList::push_back(items, "1 ($FFF5)");
|
||||
VarList::push_back(items, "2 ($FFF6)");
|
||||
VarList::push_back(items, "3 ($FFF7)");
|
||||
VarList::push_back(items, "4 ($FFF8)");
|
||||
VarList::push_back(items, "5 ($FFF9)");
|
||||
VarList::push_back(items, "6 ($FFFA)");
|
||||
VarList::push_back(items, "7 ($FFFB)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ string CartridgeF4Widget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FF4", "$FF5", "$FF6", "$FF7", "$FF8", "$FF9", "$FFA", "$FFB"
|
||||
"$FFF4", "$FFF5", "$FFF6", "$FFF7", "$FFF8", "$FFF9", "$FFFA", "$FFFB"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -40,21 +40,21 @@ CartridgeF6SCWidget::CartridgeF6SCWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << i << " @ $" << Common::Base::HEX4 << (start + 0x100) << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "Atari", info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF6)");
|
||||
VarList::push_back(items, "1 ($FF7)");
|
||||
VarList::push_back(items, "2 ($FF8)");
|
||||
VarList::push_back(items, "3 ($FF9)");
|
||||
VarList::push_back(items, "0 ($FFF6)");
|
||||
VarList::push_back(items, "1 ($FFF7)");
|
||||
VarList::push_back(items, "2 ($FFF8)");
|
||||
VarList::push_back(items, "3 ($FFF9)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ string CartridgeF6SCWidget::bankState()
|
|||
{
|
||||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = { "$FF6", "$FF7", "$FF8", "$FF9" };
|
||||
static const char* spot[] = { "$FFF6", "$FFF7", "$FFF8", "$FFF9" };
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
||||
|
|
|
@ -38,21 +38,21 @@ CartridgeF6Widget::CartridgeF6Widget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << i << " @ $" << Common::Base::HEX4 << start << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "Atari", info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF6)");
|
||||
VarList::push_back(items, "1 ($FF7)");
|
||||
VarList::push_back(items, "2 ($FF8)");
|
||||
VarList::push_back(items, "3 ($FF9)");
|
||||
VarList::push_back(items, "0 ($FFF6)");
|
||||
VarList::push_back(items, "1 ($FFF7)");
|
||||
VarList::push_back(items, "2 ($FFF8)");
|
||||
VarList::push_back(items, "3 ($FFF9)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ string CartridgeF6Widget::bankState()
|
|||
{
|
||||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = { "$FF6", "$FF7", "$FF8", "$FF9" };
|
||||
static const char* spot[] = { "$FFF6", "$FFF7", "$FFF8", "$FFF9" };
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
||||
|
|
|
@ -40,19 +40,19 @@ CartridgeF8SCWidget::CartridgeF8SCWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << i << " @ $" << Common::Base::HEX4 << (start + 0x100) << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "Atari", info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF8)");
|
||||
VarList::push_back(items, "1 ($FF9)");
|
||||
VarList::push_back(items, "0 ($FFF8)");
|
||||
VarList::push_back(items, "1 ($FFF9)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ void CartridgeF8SCWidget::loadConfig()
|
|||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void CartridgeF8SCWidget::handleCommand(CommandSender* sender,
|
||||
int cmd, int data, int id)
|
||||
int cmd, int data, int id)
|
||||
{
|
||||
if(cmd == kBankChanged)
|
||||
{
|
||||
|
@ -94,7 +94,7 @@ string CartridgeF8SCWidget::bankState()
|
|||
{
|
||||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = { "$FF8", "$FF9" };
|
||||
static const char* spot[] = { "$FFF8", "$FFF9" };
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
||||
|
|
|
@ -38,19 +38,19 @@ CartridgeF8Widget::CartridgeF8Widget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << i << " @ $" << Common::Base::HEX4 << start << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "Atari", info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF8)");
|
||||
VarList::push_back(items, "1 ($FF9)");
|
||||
VarList::push_back(items, "0 ($FFF8)");
|
||||
VarList::push_back(items, "1 ($FFF9)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ string CartridgeF8Widget::bankState()
|
|||
{
|
||||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = { "$FF8", "$FF9" };
|
||||
static const char* spot[] = { "$FFF8", "$FFF9" };
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ CartridgeFA2Widget::CartridgeFA2Widget(
|
|||
info << "Modified FA RAM+, six or seven 4K banks\n"
|
||||
<< "256 bytes RAM @ $F000 - $F1FF\n"
|
||||
<< " $F100 - $F1FF (R), $F000 - $F0FF (W)\n"
|
||||
<< "RAM can be loaded/saved to Harmony flash by accessing $FF4\n"
|
||||
<< "RAM can be loaded/saved to Harmony flash by accessing $FFF4\n"
|
||||
<< "Startup bank = " << cart.myStartBank << "\n";
|
||||
|
||||
// Eventually, we should query this from the debugger/disassembler
|
||||
|
@ -42,7 +42,7 @@ CartridgeFA2Widget::CartridgeFA2Widget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << i << " @ $" << Common::Base::HEX4 << (start + 0x200) << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
|
@ -50,19 +50,19 @@ CartridgeFA2Widget::CartridgeFA2Widget(
|
|||
info.str(), 15) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF5)");
|
||||
VarList::push_back(items, "1 ($FF6)");
|
||||
VarList::push_back(items, "2 ($FF7)");
|
||||
VarList::push_back(items, "3 ($FF8)");
|
||||
VarList::push_back(items, "4 ($FF9)");
|
||||
VarList::push_back(items, "5 ($FFA)");
|
||||
VarList::push_back(items, "0 ($FFF5)");
|
||||
VarList::push_back(items, "1 ($FFF6)");
|
||||
VarList::push_back(items, "2 ($FFF7)");
|
||||
VarList::push_back(items, "3 ($FFF8)");
|
||||
VarList::push_back(items, "4 ($FFF9)");
|
||||
VarList::push_back(items, "5 ($FFFA)");
|
||||
if(cart.bankCount() == 7)
|
||||
VarList::push_back(items, "6 ($FFB)");
|
||||
VarList::push_back(items, "6 ($FFFB)");
|
||||
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
ypos += myLineHeight + 20;
|
||||
|
@ -70,8 +70,8 @@ CartridgeFA2Widget::CartridgeFA2Widget(
|
|||
const int bwidth = _font.getStringWidth("Erase") + 20;
|
||||
|
||||
StaticTextWidget* t = new StaticTextWidget(boss, _font, xpos, ypos,
|
||||
_font.getStringWidth("Harmony Flash: "),
|
||||
myFontHeight, "Harmony Flash: ", kTextAlignLeft);
|
||||
_font.getStringWidth("Harmony Flash "),
|
||||
myFontHeight, "Harmony Flash ", kTextAlignLeft);
|
||||
|
||||
xpos += t->getWidth() + 4;
|
||||
myFlashErase =
|
||||
|
@ -147,7 +147,7 @@ string CartridgeFA2Widget::bankState()
|
|||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = {
|
||||
"$FF5", "$FF6", "$FF7", "$FF8", "$FF9", "$FFA", "$FFB"
|
||||
"$FFF5", "$FFF6", "$FFF7", "$FFF8", "$FFF9", "$FFFA", "$FFFB"
|
||||
};
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
|
|
@ -40,20 +40,20 @@ CartridgeFAWidget::CartridgeFAWidget(
|
|||
uInt16 start = (cart.myImage[offset+1] << 8) | cart.myImage[offset];
|
||||
start -= start % 0x1000;
|
||||
info << "Bank " << i << " @ $" << Common::Base::HEX4 << (start + 0x200) << " - "
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $" << (spot+i) << ")\n";
|
||||
<< "$" << (start + 0xFFF) << " (hotspot = $F" << (spot+i) << ")\n";
|
||||
}
|
||||
|
||||
int xpos = 10,
|
||||
ypos = addBaseInformation(size, "CBS", info.str()) + myLineHeight;
|
||||
|
||||
VariantList items;
|
||||
VarList::push_back(items, "0 ($FF8)");
|
||||
VarList::push_back(items, "1 ($FF9)");
|
||||
VarList::push_back(items, "2 ($FFA)");
|
||||
VarList::push_back(items, "0 ($FFF8)");
|
||||
VarList::push_back(items, "1 ($FFF9)");
|
||||
VarList::push_back(items, "2 ($FFFA)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFFx) "),
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
@ -95,7 +95,7 @@ string CartridgeFAWidget::bankState()
|
|||
{
|
||||
ostringstream& buf = buffer();
|
||||
|
||||
static const char* spot[] = { "$FF8", "$FF9", "$FFA" };
|
||||
static const char* spot[] = { "$FFF8", "$FFF9", "$FFFA" };
|
||||
buf << "Bank = " << std::dec << myCart.myCurrentBank
|
||||
<< ", hotspot = " << spot[myCart.myCurrentBank];
|
||||
|
||||
|
|
|
@ -56,12 +56,12 @@ CartridgeMCWidget::CartridgeMCWidget(
|
|||
VarList::push_back(items, b + " (RAM)", b);
|
||||
}
|
||||
|
||||
const int lwidth = _font.getStringWidth("Set slice for segment X ($3X): "),
|
||||
const int lwidth = _font.getStringWidth("Set slice for segment X ($3X) "),
|
||||
fwidth = _font.getStringWidth("255 (ROM)");
|
||||
|
||||
mySlice0 =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth,
|
||||
myLineHeight, items, "Set slice for segment 0 ($3C): ",
|
||||
myLineHeight, items, "Set slice for segment 0 ($3C) ",
|
||||
lwidth, kSlice0Changed);
|
||||
mySlice0->setTarget(this);
|
||||
addFocusWidget(mySlice0);
|
||||
|
@ -69,7 +69,7 @@ CartridgeMCWidget::CartridgeMCWidget(
|
|||
|
||||
mySlice1 =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth,
|
||||
myLineHeight, items, "Set slice for segment 1 ($3D): ",
|
||||
myLineHeight, items, "Set slice for segment 1 ($3D) ",
|
||||
lwidth, kSlice1Changed);
|
||||
mySlice1->setTarget(this);
|
||||
addFocusWidget(mySlice1);
|
||||
|
@ -77,7 +77,7 @@ CartridgeMCWidget::CartridgeMCWidget(
|
|||
|
||||
mySlice2 =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth,
|
||||
myLineHeight, items, "Set slice for segment 2 ($3E): ",
|
||||
myLineHeight, items, "Set slice for segment 2 ($3E) ",
|
||||
lwidth, kSlice2Changed);
|
||||
mySlice2->setTarget(this);
|
||||
addFocusWidget(mySlice2);
|
||||
|
@ -85,7 +85,7 @@ CartridgeMCWidget::CartridgeMCWidget(
|
|||
|
||||
mySlice3 =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, fwidth,
|
||||
myLineHeight, items, "Set slice for segment 3 ($3F): ",
|
||||
myLineHeight, items, "Set slice for segment 3 ($3F) ",
|
||||
lwidth, kSlice3Changed);
|
||||
mySlice3->setTarget(this);
|
||||
addFocusWidget(mySlice3);
|
||||
|
|
|
@ -48,8 +48,8 @@ CartridgeMDMWidget::CartridgeMDMWidget(
|
|||
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("xxx ($0FFF) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
|
||||
|
|
|
@ -56,8 +56,8 @@ CartridgeSBWidget::CartridgeSBWidget(
|
|||
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("XX ($800) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
|
|
@ -50,8 +50,8 @@ CartridgeUAWidget::CartridgeUAWidget(
|
|||
VarList::push_back(items, "1 ($240)");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth("0 ($FFx) "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
|
|
@ -57,8 +57,8 @@ CartridgeWDWidget::CartridgeWDWidget(
|
|||
VarList::push_back(items, "15 ($3F) [6,0,5,1*]", 15);
|
||||
myBank = new PopUpWidget(boss, _font, xpos, ypos-2,
|
||||
_font.getStringWidth("15 ($3F) [6,0,5,1*]"),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
|
|
@ -66,8 +66,8 @@ CartridgeX07Widget::CartridgeX07Widget(
|
|||
VarList::push_back(items, " 15");
|
||||
myBank =
|
||||
new PopUpWidget(boss, _font, xpos, ypos-2, _font.getStringWidth(" 15 "),
|
||||
myLineHeight, items, "Set bank: ",
|
||||
_font.getStringWidth("Set bank: "), kBankChanged);
|
||||
myLineHeight, items, "Set bank ",
|
||||
_font.getStringWidth("Set bank "), kBankChanged);
|
||||
myBank->setTarget(this);
|
||||
addFocusWidget(myBank);
|
||||
}
|
||||
|
|
|
@ -25,12 +25,12 @@ DrivingWidget::DrivingWidget(GuiObject* boss, const GUI::Font& font,
|
|||
myGreyIndex(0)
|
||||
{
|
||||
bool leftport = myController.jack() == Controller::Left;
|
||||
const string& label = leftport ? "Left (Driving):" : "Right (Driving):";
|
||||
const string& label = leftport ? "Left (Driving)" : "Right (Driving)";
|
||||
|
||||
const int fontHeight = font.getFontHeight(),
|
||||
bwidth = font.getStringWidth("Grey code +") + 10,
|
||||
bheight = font.getLineHeight() + 4;
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Driving):");
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Driving)");
|
||||
StaticTextWidget* t;
|
||||
|
||||
t = new StaticTextWidget(boss, font, xpos, ypos+2, lwidth,
|
||||
|
|
|
@ -25,10 +25,10 @@ GenesisWidget::GenesisWidget(GuiObject* boss, const GUI::Font& font,
|
|||
: ControllerWidget(boss, font, x, y, controller)
|
||||
{
|
||||
bool leftport = myController.jack() == Controller::Left;
|
||||
const string& label = leftport ? "Left (Genesis):" : "Right (Genesis):";
|
||||
const string& label = leftport ? "Left (Genesis)" : "Right (Genesis)";
|
||||
|
||||
const int fontHeight = font.getFontHeight();
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Genesis):");
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Genesis)");
|
||||
StaticTextWidget* t;
|
||||
|
||||
t = new StaticTextWidget(boss, font, xpos, ypos+2, lwidth,
|
||||
|
|
|
@ -25,10 +25,10 @@ JoystickWidget::JoystickWidget(GuiObject* boss, const GUI::Font& font,
|
|||
: ControllerWidget(boss, font, x, y, controller)
|
||||
{
|
||||
bool leftport = myController.jack() == Controller::Left;
|
||||
const string& label = leftport ? "Left (Joystick):" : "Right (Joystick):";
|
||||
const string& label = leftport ? "Left (Joystick)" : "Right (Joystick)";
|
||||
|
||||
const int fontHeight = font.getFontHeight();
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Joystick):");
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Joystick)");
|
||||
StaticTextWidget* t;
|
||||
|
||||
t = new StaticTextWidget(boss, font, xpos, ypos+2, lwidth,
|
||||
|
|
|
@ -25,10 +25,10 @@ KeyboardWidget::KeyboardWidget(GuiObject* boss, const GUI::Font& font,
|
|||
: ControllerWidget(boss, font, x, y, controller)
|
||||
{
|
||||
bool leftport = myController.jack() == Controller::Left;
|
||||
const string& label = leftport ? "Left (Keyboard):" : "Right (Keyboard):";
|
||||
const string& label = leftport ? "Left (Keyboard)" : "Right (Keyboard)";
|
||||
|
||||
const int fontHeight = font.getFontHeight();
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Keyboard):");
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Keyboard)");
|
||||
StaticTextWidget* t;
|
||||
|
||||
t = new StaticTextWidget(boss, font, xpos, ypos+2, lwidth,
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
//============================================================================
|
||||
|
||||
#include "OSystem.hxx"
|
||||
#include "Paddles.hxx"
|
||||
#include "EventHandler.hxx"
|
||||
#include "PaddleWidget.hxx"
|
||||
|
||||
|
@ -25,25 +26,26 @@ PaddleWidget::PaddleWidget(GuiObject* boss, const GUI::Font& font,
|
|||
: ControllerWidget(boss, font, x, y, controller)
|
||||
{
|
||||
bool leftport = myController.jack() == Controller::Left;
|
||||
const string& label = leftport ? "Left (Paddles):" : "Right (Paddles):";
|
||||
const string& label = leftport ? "Left (Paddles)" : "Right (Paddles)";
|
||||
|
||||
const int fontWidth = font.getMaxCharWidth(),
|
||||
fontHeight = font.getFontHeight(),
|
||||
lineHeight = font.getLineHeight();
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Paddles):");
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (Paddles)");
|
||||
|
||||
new StaticTextWidget(boss, font, xpos, ypos+2, lwidth,
|
||||
fontHeight, label, kTextAlignLeft);
|
||||
|
||||
ypos += lineHeight + 20;
|
||||
const string& p0string = leftport ? "P0 pot: " : "P2 pot: ";
|
||||
const string& p1string = leftport ? "P1 pot: " : "P3 pot: ";
|
||||
const string& p0string = leftport ? "P0 pot " : "P2 pot ";
|
||||
const string& p1string = leftport ? "P1 pot " : "P3 pot ";
|
||||
lwidth = font.getStringWidth("P3 pot: ");
|
||||
myP0Resistance =
|
||||
new SliderWidget(boss, font, xpos, ypos, 10*fontWidth, lineHeight,
|
||||
p0string, lwidth, kP0Changed);
|
||||
myP0Resistance->setMinValue(0); myP0Resistance->setMaxValue(1400000);
|
||||
myP0Resistance->setStepValue(1400000/100);
|
||||
myP0Resistance->setMinValue(0);
|
||||
myP0Resistance->setMaxValue(uInt32(Paddles::MAX_RESISTANCE));
|
||||
myP0Resistance->setStepValue(uInt32(Paddles::MAX_RESISTANCE/100));
|
||||
myP0Resistance->setTarget(this);
|
||||
|
||||
xpos += 20; ypos += myP0Resistance->getHeight() + 4;
|
||||
|
@ -55,8 +57,9 @@ PaddleWidget::PaddleWidget(GuiObject* boss, const GUI::Font& font,
|
|||
myP1Resistance =
|
||||
new SliderWidget(boss, font, xpos, ypos, 10*fontWidth, lineHeight,
|
||||
p1string, lwidth, kP1Changed);
|
||||
myP1Resistance->setMinValue(0); myP1Resistance->setMaxValue(1400000);
|
||||
myP1Resistance->setStepValue(1400000/100);
|
||||
myP1Resistance->setMinValue(0);
|
||||
myP1Resistance->setMaxValue(uInt32(Paddles::MAX_RESISTANCE));
|
||||
myP1Resistance->setStepValue(uInt32(Paddles::MAX_RESISTANCE/100));
|
||||
myP1Resistance->setTarget(this);
|
||||
|
||||
xpos += 20; ypos += myP1Resistance->getHeight() + 4;
|
||||
|
@ -68,8 +71,10 @@ PaddleWidget::PaddleWidget(GuiObject* boss, const GUI::Font& font,
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void PaddleWidget::loadConfig()
|
||||
{
|
||||
myP0Resistance->setValue(1400000 - Int32(myController.read(Controller::Nine)));
|
||||
myP1Resistance->setValue(1400000 - Int32(myController.read(Controller::Five)));
|
||||
myP0Resistance->setValue(Int32(Paddles::MAX_RESISTANCE -
|
||||
myController.read(Controller::Nine)));
|
||||
myP1Resistance->setValue(Int32(Paddles::MAX_RESISTANCE -
|
||||
myController.read(Controller::Five)));
|
||||
myP0Fire->setState(!myController.read(Controller::Four));
|
||||
myP1Fire->setState(!myController.read(Controller::Three));
|
||||
}
|
||||
|
@ -81,10 +86,12 @@ void PaddleWidget::handleCommand(
|
|||
switch(cmd)
|
||||
{
|
||||
case kP0Changed:
|
||||
myController.set(Controller::Nine, 1400000 - myP0Resistance->getValue());
|
||||
myController.set(Controller::Nine,
|
||||
Int32(Paddles::MAX_RESISTANCE - myP0Resistance->getValue()));
|
||||
break;
|
||||
case kP1Changed:
|
||||
myController.set(Controller::Five, 1400000 - myP1Resistance->getValue());
|
||||
myController.set(Controller::Five,
|
||||
Int32(Paddles::MAX_RESISTANCE - myP1Resistance->getValue()));
|
||||
break;
|
||||
case kP0Fire:
|
||||
myController.set(Controller::Four, !myP0Fire->getState());
|
||||
|
|
|
@ -115,18 +115,18 @@ RamWidget::RamWidget(GuiObject* boss, const GUI::Font& lfont, const GUI::Font& n
|
|||
|
||||
// Add Binary display of selected RAM cell
|
||||
xpos = x + w - 13*myFontWidth - 20;
|
||||
new StaticTextWidget(boss, lfont, xpos, ypos, 4*myFontWidth, myFontHeight,
|
||||
new StaticTextWidget(boss, lfont, xpos, ypos, 3*myFontWidth, myFontHeight,
|
||||
"Bin", kTextAlignLeft);
|
||||
myBinValue = new DataGridWidget(boss, nfont, xpos + 4*myFontWidth + 5, ypos-2,
|
||||
myBinValue = new DataGridWidget(boss, nfont, xpos + 3*myFontWidth + 5, ypos-2,
|
||||
1, 1, 8, 8, Common::Base::F_2);
|
||||
myBinValue->setTarget(this);
|
||||
myBinValue->setID(kRamBinID);
|
||||
|
||||
// Add Decimal display of selected RAM cell
|
||||
xpos -= 8*myFontWidth + 5 + 20;
|
||||
new StaticTextWidget(boss, lfont, xpos, ypos, 4*myFontWidth, myFontHeight,
|
||||
new StaticTextWidget(boss, lfont, xpos, ypos, 3*myFontWidth, myFontHeight,
|
||||
"Dec", kTextAlignLeft);
|
||||
myDecValue = new DataGridWidget(boss, nfont, xpos + 4*myFontWidth + 5, ypos-2,
|
||||
myDecValue = new DataGridWidget(boss, nfont, xpos + 3*myFontWidth + 5, ypos-2,
|
||||
1, 1, 3, 8, Common::Base::F_10);
|
||||
myDecValue->setTarget(this);
|
||||
myDecValue->setID(kRamDecID);
|
||||
|
@ -137,9 +137,9 @@ RamWidget::RamWidget(GuiObject* boss, const GUI::Font& lfont, const GUI::Font& n
|
|||
// Add Label of selected RAM cell
|
||||
int xpos_r = xpos - 20;
|
||||
xpos = x + 10;
|
||||
new StaticTextWidget(boss, lfont, xpos, ypos, 6*myFontWidth, myFontHeight,
|
||||
new StaticTextWidget(boss, lfont, xpos, ypos, 5*myFontWidth, myFontHeight,
|
||||
"Label", kTextAlignLeft);
|
||||
xpos += 6*myFontWidth + 5;
|
||||
xpos += 5*myFontWidth + 5;
|
||||
myLabel = new EditTextWidget(boss, nfont, xpos, ypos-2, xpos_r-xpos,
|
||||
myLineHeight);
|
||||
myLabel->setEditable(false, true);
|
||||
|
|
|
@ -48,7 +48,7 @@ RiotWidget::RiotWidget(GuiObject* boss, const GUI::Font& lfont,
|
|||
const int fontWidth = lfont.getMaxCharWidth(),
|
||||
fontHeight = lfont.getFontHeight(),
|
||||
lineHeight = lfont.getLineHeight();
|
||||
int xpos = 10, ypos = 25, lwidth = 9 * fontWidth, col = 0;
|
||||
int xpos = 10, ypos = 25, lwidth = 8 * fontWidth, col = 0;
|
||||
StaticTextWidget* t;
|
||||
VariantList items;
|
||||
|
||||
|
@ -73,50 +73,50 @@ RiotWidget::RiotWidget(GuiObject* boss, const GUI::Font& lfont,
|
|||
bits->setList(off, on);
|
||||
|
||||
// SWCHA bits in 'poke' mode
|
||||
CREATE_IO_REGS("SWCHA(W):", mySWCHAWriteBits, kSWCHABitsID, true);
|
||||
CREATE_IO_REGS("SWCHA(W)", mySWCHAWriteBits, kSWCHABitsID, true);
|
||||
col = xpos + 20; // remember this for adding widgets to the second column
|
||||
|
||||
// SWACNT bits
|
||||
xpos = 10; ypos += lineHeight + 5;
|
||||
CREATE_IO_REGS("SWACNT:", mySWACNTBits, kSWACNTBitsID, true);
|
||||
CREATE_IO_REGS("SWACNT", mySWACNTBits, kSWACNTBitsID, true);
|
||||
|
||||
// SWCHA bits in 'peek' mode
|
||||
xpos = 10; ypos += lineHeight + 5;
|
||||
CREATE_IO_REGS("SWCHA(R):", mySWCHAReadBits, 0, false);
|
||||
CREATE_IO_REGS("SWCHA(R)", mySWCHAReadBits, 0, false);
|
||||
|
||||
// SWCHB bits in 'poke' mode
|
||||
xpos = 10; ypos += 2 * lineHeight;
|
||||
CREATE_IO_REGS("SWCHB(W):", mySWCHBWriteBits, kSWCHBBitsID, true);
|
||||
CREATE_IO_REGS("SWCHB(W)", mySWCHBWriteBits, kSWCHBBitsID, true);
|
||||
|
||||
// SWBCNT bits
|
||||
xpos = 10; ypos += lineHeight + 5;
|
||||
CREATE_IO_REGS("SWBCNT:", mySWBCNTBits, kSWBCNTBitsID, true);
|
||||
CREATE_IO_REGS("SWBCNT", mySWBCNTBits, kSWBCNTBitsID, true);
|
||||
|
||||
// SWCHB bits in 'peek' mode
|
||||
xpos = 10; ypos += lineHeight + 5;
|
||||
CREATE_IO_REGS("SWCHB(R):", mySWCHBReadBits, 0, false);
|
||||
CREATE_IO_REGS("SWCHB(R)", mySWCHBReadBits, 0, false);
|
||||
|
||||
// Timer registers (R/W)
|
||||
const char* writeNames[] = { "TIM1T:", "TIM8T:", "TIM64T:", "T1024T:" };
|
||||
const char* writeNames[] = { "TIM1T", "TIM8T", "TIM64T", "T1024T" };
|
||||
xpos = 10; ypos += 2*lineHeight;
|
||||
for(int row = 0; row < 4; ++row)
|
||||
{
|
||||
t = new StaticTextWidget(boss, lfont, xpos, ypos + row*lineHeight + 2,
|
||||
9*fontWidth, fontHeight, writeNames[row], kTextAlignLeft);
|
||||
lwidth, fontHeight, writeNames[row], kTextAlignLeft);
|
||||
}
|
||||
xpos += 9*fontWidth + 5;
|
||||
xpos += t->getWidth() + 5;
|
||||
myTimWrite = new DataGridWidget(boss, nfont, xpos, ypos, 1, 4, 2, 8, Common::Base::F_16);
|
||||
myTimWrite->setTarget(this);
|
||||
myTimWrite->setID(kTimWriteID);
|
||||
addFocusWidget(myTimWrite);
|
||||
|
||||
// Timer registers (RO)
|
||||
const char* readNames[] = { "INTIM:", "TIMINT:", "Total Clks:", "INTIM Clks:" };
|
||||
const char* readNames[] = { "INTIM", "TIMINT", "Total Clks", "INTIM Clks" };
|
||||
xpos = 10; ypos += myTimWrite->getHeight() + lineHeight;
|
||||
for(int row = 0; row < 4; ++row)
|
||||
{
|
||||
t = new StaticTextWidget(boss, lfont, xpos, ypos + row*lineHeight + 2,
|
||||
11*fontWidth, fontHeight, readNames[row], kTextAlignLeft);
|
||||
10*fontWidth, fontHeight, readNames[row], kTextAlignLeft);
|
||||
}
|
||||
xpos += t->getWidth() + 5;
|
||||
myTimRead = new DataGridWidget(boss, nfont, xpos, ypos, 1, 4, 8, 32, Common::Base::F_16);
|
||||
|
@ -133,27 +133,27 @@ RiotWidget::RiotWidget(GuiObject* boss, const GUI::Font& lfont,
|
|||
riot.controller(Controller::Right));
|
||||
|
||||
// TIA INPTx registers (R), left port
|
||||
const char* contLeftReadNames[] = { "INPT0:", "INPT1:", "INPT4:" };
|
||||
const char* contLeftReadNames[] = { "INPT0", "INPT1", "INPT4" };
|
||||
xpos = col; ypos += myLeftControl->getHeight() + 2 * lineHeight;
|
||||
for(int row = 0; row < 3; ++row)
|
||||
{
|
||||
new StaticTextWidget(boss, lfont, xpos, ypos + row*lineHeight + 2,
|
||||
6*fontWidth, fontHeight, contLeftReadNames[row], kTextAlignLeft);
|
||||
5*fontWidth, fontHeight, contLeftReadNames[row], kTextAlignLeft);
|
||||
}
|
||||
xpos += 6*fontWidth + 5;
|
||||
xpos += 5*fontWidth + 5;
|
||||
myLeftINPT = new DataGridWidget(boss, nfont, xpos, ypos, 1, 3, 2, 8, Common::Base::F_16);
|
||||
myLeftINPT->setTarget(this);
|
||||
myLeftINPT->setEditable(false);
|
||||
|
||||
// TIA INPTx registers (R), right port
|
||||
const char* contRightReadNames[] = { "INPT2:", "INPT3:", "INPT5:" };
|
||||
const char* contRightReadNames[] = { "INPT2", "INPT3", "INPT5" };
|
||||
xpos = col + myLeftControl->getWidth() + 15;
|
||||
for(int row = 0; row < 3; ++row)
|
||||
{
|
||||
new StaticTextWidget(boss, lfont, xpos, ypos + row*lineHeight + 2,
|
||||
6*fontWidth, fontHeight, contRightReadNames[row], kTextAlignLeft);
|
||||
5*fontWidth, fontHeight, contRightReadNames[row], kTextAlignLeft);
|
||||
}
|
||||
xpos += 6*fontWidth + 5;
|
||||
xpos += 5*fontWidth + 5;
|
||||
myRightINPT = new DataGridWidget(boss, nfont, xpos, ypos, 1, 3, 2, 8, Common::Base::F_16);
|
||||
myRightINPT->setTarget(this);
|
||||
myRightINPT->setEditable(false);
|
||||
|
@ -170,19 +170,19 @@ RiotWidget::RiotWidget(GuiObject* boss, const GUI::Font& lfont,
|
|||
|
||||
// PO & P1 difficulty switches
|
||||
int pwidth = lfont.getStringWidth("B/easy");
|
||||
lwidth = lfont.getStringWidth("P0 Diff: ");
|
||||
lwidth = lfont.getStringWidth("P0 Diff ");
|
||||
xpos = col; ypos += 2 * lineHeight;
|
||||
int col2_ypos = ypos;
|
||||
items.clear();
|
||||
VarList::push_back(items, "B/easy", "b");
|
||||
VarList::push_back(items, "A/hard", "a");
|
||||
myP0Diff = new PopUpWidget(boss, lfont, xpos, ypos, pwidth, lineHeight, items,
|
||||
"P0 Diff: ", lwidth, kP0DiffChanged);
|
||||
"P0 Diff ", lwidth, kP0DiffChanged);
|
||||
myP0Diff->setTarget(this);
|
||||
addFocusWidget(myP0Diff);
|
||||
ypos += myP0Diff->getHeight() + 5;
|
||||
myP1Diff = new PopUpWidget(boss, lfont, xpos, ypos, pwidth, lineHeight, items,
|
||||
"P1 Diff: ", lwidth, kP1DiffChanged);
|
||||
"P1 Diff ", lwidth, kP1DiffChanged);
|
||||
myP1Diff->setTarget(this);
|
||||
addFocusWidget(myP1Diff);
|
||||
|
||||
|
@ -192,7 +192,7 @@ RiotWidget::RiotWidget(GuiObject* boss, const GUI::Font& lfont,
|
|||
VarList::push_back(items, "B&W", "bw");
|
||||
VarList::push_back(items, "Color", "color");
|
||||
myTVType = new PopUpWidget(boss, lfont, xpos, ypos, pwidth, lineHeight, items,
|
||||
"TV Type: ", lwidth, kTVTypeChanged);
|
||||
"TV Type ", lwidth, kTVTypeChanged);
|
||||
myTVType->setTarget(this);
|
||||
addFocusWidget(myTVType);
|
||||
|
||||
|
@ -436,24 +436,36 @@ ControllerWidget* RiotWidget::addControlWidget(GuiObject* boss, const GUI::Font&
|
|||
{
|
||||
switch(controller.type())
|
||||
{
|
||||
case Controller::Joystick:
|
||||
return new JoystickWidget(boss, font, x, y, controller);
|
||||
case Controller::Paddles:
|
||||
return new PaddleWidget(boss, font, x, y, controller);
|
||||
case Controller::AmigaMouse: // TODO - implement this
|
||||
return new NullControlWidget(boss, font, x, y, controller);
|
||||
case Controller::AtariMouse: // TODO - implement this
|
||||
return new NullControlWidget(boss, font, x, y, controller);
|
||||
case Controller::AtariVox:
|
||||
return new AtariVoxWidget(boss, font, x, y, controller);
|
||||
case Controller::BoosterGrip:
|
||||
return new BoosterWidget(boss, font, x, y, controller);
|
||||
case Controller::CompuMate: // TODO - implement this
|
||||
return new NullControlWidget(boss, font, x, y, controller);
|
||||
case Controller::Driving:
|
||||
return new DrivingWidget(boss, font, x, y, controller);
|
||||
case Controller::Genesis:
|
||||
return new GenesisWidget(boss, font, x, y, controller);
|
||||
case Controller::Joystick:
|
||||
return new JoystickWidget(boss, font, x, y, controller);
|
||||
case Controller::Keyboard:
|
||||
return new KeyboardWidget(boss, font, x, y, controller);
|
||||
case Controller::AtariVox:
|
||||
return new AtariVoxWidget(boss, font, x, y, controller);
|
||||
case Controller::KidVid: // TODO - implement this
|
||||
return new NullControlWidget(boss, font, x, y, controller);
|
||||
case Controller::MindLink: // TODO - implement this
|
||||
return new NullControlWidget(boss, font, x, y, controller);
|
||||
case Controller::Paddles:
|
||||
return new PaddleWidget(boss, font, x, y, controller);
|
||||
case Controller::SaveKey:
|
||||
return new SaveKeyWidget(boss, font, x, y, controller);
|
||||
default:
|
||||
case Controller::TrakBall: // TODO - implement this
|
||||
return new NullControlWidget(boss, font, x, y, controller);
|
||||
default:
|
||||
return nullptr; // make compiler happy
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ RomWidget::RomWidget(GuiObject* boss, const GUI::Font& lfont, const GUI::Font& n
|
|||
"Bank", kTextAlignLeft);
|
||||
|
||||
xpos += t->getWidth() + 5;
|
||||
myBank = new EditTextWidget(boss, nfont, xpos, ypos-1,
|
||||
myBank = new EditTextWidget(boss, nfont, xpos, ypos-2,
|
||||
_w - 2 - xpos, nfont.getLineHeight());
|
||||
|
||||
// Create rom listing
|
||||
|
|
|
@ -25,15 +25,14 @@ SaveKeyWidget::SaveKeyWidget(GuiObject* boss, const GUI::Font& font,
|
|||
: ControllerWidget(boss, font, x, y, controller)
|
||||
{
|
||||
bool leftport = myController.jack() == Controller::Left;
|
||||
const string& label = leftport ? "Left (SaveKey):" : "Right (SaveKey):";
|
||||
const string& label = leftport ? "Left (SaveKey)" : "Right (SaveKey)";
|
||||
|
||||
const int fontWidth = font.getMaxCharWidth(),
|
||||
fontHeight = font.getFontHeight(),
|
||||
const int fontHeight = font.getFontHeight(),
|
||||
lineHeight = font.getLineHeight(),
|
||||
bwidth = font.getStringWidth("Erase EEPROM") + 20,
|
||||
bheight = lineHeight + 4;
|
||||
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (SaveKey):");
|
||||
int xpos = x, ypos = y, lwidth = font.getStringWidth("Right (SaveKey)");
|
||||
StaticTextWidget* t;
|
||||
|
||||
t = new StaticTextWidget(boss, font, xpos, ypos+2, lwidth,
|
||||
|
@ -46,16 +45,18 @@ SaveKeyWidget::SaveKeyWidget(GuiObject* boss, const GUI::Font& font,
|
|||
myEEPROMErase->setTarget(this);
|
||||
ypos += lineHeight + 20;
|
||||
|
||||
new StaticTextWidget(boss, font, xpos, ypos, fontWidth*22,
|
||||
const GUI::Font& ifont = instance().frameBuffer().infoFont();
|
||||
lwidth = ifont.getMaxCharWidth() * 20;
|
||||
new StaticTextWidget(boss, ifont, xpos, ypos, lwidth,
|
||||
fontHeight, "(*) This will erase", kTextAlignLeft);
|
||||
ypos += lineHeight + 2;
|
||||
new StaticTextWidget(boss, font, xpos, ypos, fontWidth*22,
|
||||
new StaticTextWidget(boss, ifont, xpos, ypos, lwidth,
|
||||
fontHeight, "all EEPROM data, not", kTextAlignLeft);
|
||||
ypos += lineHeight + 2;
|
||||
new StaticTextWidget(boss, font, xpos, ypos, fontWidth*22,
|
||||
new StaticTextWidget(boss, ifont, xpos, ypos, lwidth,
|
||||
fontHeight, "just the range used", kTextAlignLeft);
|
||||
ypos += lineHeight + 2;
|
||||
new StaticTextWidget(boss, font, xpos, ypos, fontWidth*22,
|
||||
new StaticTextWidget(boss, ifont, xpos, ypos, lwidth,
|
||||
fontHeight, "for this ROM", kTextAlignLeft);
|
||||
}
|
||||
|
||||
|
|
|
@ -87,9 +87,9 @@ class Controller : public Serializable
|
|||
*/
|
||||
enum Type
|
||||
{
|
||||
BoosterGrip, Driving, Keyboard, Paddles, Joystick,
|
||||
AmigaMouse, AtariMouse, TrakBall, AtariVox, SaveKey,
|
||||
KidVid, Genesis, MindLink, CompuMate
|
||||
AmigaMouse, AtariMouse, AtariVox, BoosterGrip, CompuMate,
|
||||
Driving, Genesis, Joystick, Keyboard, KidVid, MindLink,
|
||||
Paddles, SaveKey, TrakBall
|
||||
};
|
||||
|
||||
public:
|
||||
|
|
|
@ -260,12 +260,12 @@ void Paddles::update()
|
|||
int sa_yaxis = myEvent.get(myP1AxisValue);
|
||||
if(abs(myLastAxisX - sa_xaxis) > 10)
|
||||
{
|
||||
myAnalogPinValue[Nine] = Int32(1400000 * ((32767 - Int16(sa_xaxis)) / 65536.0));
|
||||
myAnalogPinValue[Nine] = Int32(MAX_RESISTANCE * ((32767 - Int16(sa_xaxis)) / 65536.0));
|
||||
sa_changed = true;
|
||||
}
|
||||
if(abs(myLastAxisY - sa_yaxis) > 10)
|
||||
{
|
||||
myAnalogPinValue[Five] = Int32(1400000 * ((32767 - Int16(sa_yaxis)) / 65536.0));
|
||||
myAnalogPinValue[Five] = Int32(MAX_RESISTANCE * ((32767 - Int16(sa_yaxis)) / 65536.0));
|
||||
sa_changed = true;
|
||||
}
|
||||
myLastAxisX = sa_xaxis;
|
||||
|
@ -353,10 +353,10 @@ void Paddles::update()
|
|||
// Only change state if the charge has actually changed
|
||||
if(myCharge[1] != myLastCharge[1])
|
||||
myAnalogPinValue[Five] =
|
||||
Int32(1400000 * (myCharge[1] / float(TRIGMAX)));
|
||||
Int32(MAX_RESISTANCE * (myCharge[1] / float(TRIGMAX)));
|
||||
if(myCharge[0] != myLastCharge[0])
|
||||
myAnalogPinValue[Nine] =
|
||||
Int32(1400000 * (myCharge[0] / float(TRIGMAX)));
|
||||
Int32(MAX_RESISTANCE * (myCharge[0] / float(TRIGMAX)));
|
||||
|
||||
myLastCharge[1] = myCharge[1];
|
||||
myLastCharge[0] = myCharge[0];
|
||||
|
|
|
@ -104,6 +104,8 @@ class Paddles : public Controller
|
|||
*/
|
||||
static void setPaddleRange(int range);
|
||||
|
||||
static constexpr double MAX_RESISTANCE = 1400000.0;
|
||||
|
||||
private:
|
||||
// Pre-compute the events we care about based on given port
|
||||
// This will eliminate test for left or right port in update()
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "M6502.hxx"
|
||||
#include "Console.hxx"
|
||||
#include "Control.hxx"
|
||||
#include "Paddles.hxx"
|
||||
|
||||
#ifdef DEBUGGER_SUPPORT
|
||||
#include "CartDebug.hxx"
|
||||
|
@ -1326,8 +1327,6 @@ void TIA::delayedWrite(uInt8 address, uInt8 value)
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void TIA::updatePaddle(uInt8 idx)
|
||||
{
|
||||
static constexpr double MAX_RESISTANCE = 1400000;
|
||||
|
||||
Int32 resistance;
|
||||
switch (idx) {
|
||||
case 0:
|
||||
|
@ -1351,7 +1350,7 @@ void TIA::updatePaddle(uInt8 idx)
|
|||
}
|
||||
|
||||
myPaddleReaders[idx].update(
|
||||
(resistance == Controller::maximumResistance ? -1 : double(resistance)) / MAX_RESISTANCE,
|
||||
(resistance == Controller::maximumResistance ? -1 : double(resistance)) / Paddles::MAX_RESISTANCE,
|
||||
myTimestamp,
|
||||
myFrameManager.layout()
|
||||
);
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
class TIA : public Device
|
||||
{
|
||||
public:
|
||||
|
||||
enum DummyRegisters: uInt8 {
|
||||
shuffleP0 = 0xF0,
|
||||
shuffleP1 = 0xF1,
|
||||
|
|
|
@ -42,7 +42,7 @@ AudioDialog::AudioDialog(OSystem& osystem, DialogContainer& parent,
|
|||
buttonWidth = font.getStringWidth("Defaults") + 20,
|
||||
buttonHeight = font.getLineHeight() + 4;
|
||||
int xpos, ypos;
|
||||
int lwidth = font.getStringWidth("Sample Size (*): "),
|
||||
int lwidth = font.getStringWidth("Sample Size (*) "),
|
||||
pwidth = font.getStringWidth("512 bytes");
|
||||
WidgetArray wid;
|
||||
VariantList items;
|
||||
|
@ -55,7 +55,7 @@ AudioDialog::AudioDialog(OSystem& osystem, DialogContainer& parent,
|
|||
xpos = 3 * fontWidth; ypos = 10;
|
||||
|
||||
myVolumeSlider = new SliderWidget(this, font, xpos, ypos, 6*fontWidth, lineHeight,
|
||||
"Volume: ", lwidth, kVolumeChanged);
|
||||
"Volume ", lwidth, kVolumeChanged);
|
||||
myVolumeSlider->setMinValue(1); myVolumeSlider->setMaxValue(100);
|
||||
wid.push_back(myVolumeSlider);
|
||||
myVolumeLabel = new StaticTextWidget(this, font,
|
||||
|
@ -75,7 +75,7 @@ AudioDialog::AudioDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "4 KB", "4096");
|
||||
myFragsizePopup = new PopUpWidget(this, font, xpos, ypos,
|
||||
pwidth + myVolumeLabel->getWidth() - 4, lineHeight,
|
||||
items, "Sample size (*): ", lwidth);
|
||||
items, "Sample size (*) ", lwidth);
|
||||
wid.push_back(myFragsizePopup);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
@ -88,7 +88,7 @@ AudioDialog::AudioDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "48000 Hz", "48000");
|
||||
myFreqPopup = new PopUpWidget(this, font, xpos, ypos,
|
||||
pwidth + myVolumeLabel->getWidth() - 4, lineHeight,
|
||||
items, "Frequency (*): ", lwidth);
|
||||
items, "Frequency (*) ", lwidth);
|
||||
wid.push_back(myFreqPopup);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
|
|
@ -74,9 +74,9 @@ BrowserDialog::BrowserDialog(GuiObject* boss, const GUI::Font& font,
|
|||
// Add currently selected item
|
||||
ypos += _fileList->getHeight() + 4;
|
||||
|
||||
_type = new StaticTextWidget(this, font, xpos, ypos,
|
||||
font.getStringWidth("Name: "), lineHeight,
|
||||
"Name:", kTextAlignCenter);
|
||||
_type = new StaticTextWidget(this, font, xpos, ypos+2,
|
||||
font.getStringWidth("Name "), lineHeight,
|
||||
"Name", kTextAlignCenter);
|
||||
_selected = new EditTextWidget(this, font, xpos + _type->getWidth(), ypos,
|
||||
_w - _type->getWidth() - 2 * xpos, lineHeight, "");
|
||||
_selected->setEditable(false);
|
||||
|
|
|
@ -69,14 +69,14 @@ ComboDialog::ComboDialog(GuiObject* boss, const GUI::Font& font,
|
|||
};
|
||||
|
||||
xpos = 10;
|
||||
myEvents[0] = nullptr; ADD_EVENT_POPUP(0, "Event 1: ");
|
||||
myEvents[1] = nullptr; ADD_EVENT_POPUP(1, "Event 2: ");
|
||||
myEvents[2] = nullptr; ADD_EVENT_POPUP(2, "Event 3: ");
|
||||
myEvents[3] = nullptr; ADD_EVENT_POPUP(3, "Event 4: ");
|
||||
myEvents[4] = nullptr; ADD_EVENT_POPUP(4, "Event 5: ");
|
||||
myEvents[5] = nullptr; ADD_EVENT_POPUP(5, "Event 6: ");
|
||||
myEvents[6] = nullptr; ADD_EVENT_POPUP(6, "Event 7: ");
|
||||
myEvents[7] = nullptr; ADD_EVENT_POPUP(7, "Event 8: ");
|
||||
myEvents[0] = nullptr; ADD_EVENT_POPUP(0, "Event 1 ");
|
||||
myEvents[1] = nullptr; ADD_EVENT_POPUP(1, "Event 2 ");
|
||||
myEvents[2] = nullptr; ADD_EVENT_POPUP(2, "Event 3 ");
|
||||
myEvents[3] = nullptr; ADD_EVENT_POPUP(3, "Event 4 ");
|
||||
myEvents[4] = nullptr; ADD_EVENT_POPUP(4, "Event 5 ");
|
||||
myEvents[5] = nullptr; ADD_EVENT_POPUP(5, "Event 6 ");
|
||||
myEvents[6] = nullptr; ADD_EVENT_POPUP(6, "Event 7 ");
|
||||
myEvents[7] = nullptr; ADD_EVENT_POPUP(7, "Event 8 ");
|
||||
|
||||
// Add Defaults, OK and Cancel buttons
|
||||
ButtonWidget* b;
|
||||
|
|
|
@ -38,7 +38,7 @@ ConfigPathDialog::ConfigPathDialog(
|
|||
{
|
||||
const int lineHeight = font.getLineHeight(),
|
||||
fontWidth = font.getMaxCharWidth(),
|
||||
buttonWidth = font.getStringWidth("Properties file:") + 20,
|
||||
buttonWidth = font.getStringWidth("Properties file") + 20,
|
||||
buttonHeight = font.getLineHeight() + 4;
|
||||
const int vBorder = 8;
|
||||
int xpos, ypos;
|
||||
|
@ -54,7 +54,7 @@ ConfigPathDialog::ConfigPathDialog(
|
|||
// ROM path
|
||||
ButtonWidget* romButton =
|
||||
new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
||||
"Rom path:", kChooseRomDirCmd);
|
||||
"Rom path", kChooseRomDirCmd);
|
||||
wid.push_back(romButton);
|
||||
xpos += buttonWidth + 10;
|
||||
myRomPath = new EditTextWidget(this, font, xpos, ypos + 2,
|
||||
|
@ -64,7 +64,7 @@ ConfigPathDialog::ConfigPathDialog(
|
|||
// Cheat file
|
||||
xpos = vBorder; ypos += romButton->getHeight() + 3;
|
||||
b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
||||
"Cheat file:", kChooseCheatFileCmd);
|
||||
"Cheat file", kChooseCheatFileCmd);
|
||||
wid.push_back(b);
|
||||
xpos += buttonWidth + 10;
|
||||
myCheatFile = new EditTextWidget(this, font, xpos, ypos + 2,
|
||||
|
@ -74,7 +74,7 @@ ConfigPathDialog::ConfigPathDialog(
|
|||
// Palette file
|
||||
xpos = vBorder; ypos += b->getHeight() + 3;
|
||||
b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
||||
"Palette file:", kChoosePaletteFileCmd);
|
||||
"Palette file", kChoosePaletteFileCmd);
|
||||
wid.push_back(b);
|
||||
xpos += buttonWidth + 10;
|
||||
myPaletteFile = new EditTextWidget(this, font, xpos, ypos + 2,
|
||||
|
@ -84,7 +84,7 @@ ConfigPathDialog::ConfigPathDialog(
|
|||
// Properties file
|
||||
xpos = vBorder; ypos += b->getHeight() + 3;
|
||||
b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
||||
"Properties file:", kChoosePropsFileCmd);
|
||||
"Properties file", kChoosePropsFileCmd);
|
||||
wid.push_back(b);
|
||||
xpos += buttonWidth + 10;
|
||||
myPropsFile = new EditTextWidget(this, font, xpos, ypos + 2,
|
||||
|
@ -94,7 +94,7 @@ ConfigPathDialog::ConfigPathDialog(
|
|||
// State directory
|
||||
xpos = vBorder; ypos += b->getHeight() + 3;
|
||||
b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
||||
"State path:", kChooseStateDirCmd);
|
||||
"State path", kChooseStateDirCmd);
|
||||
wid.push_back(b);
|
||||
xpos += buttonWidth + 10;
|
||||
myStatePath = new EditTextWidget(this, font, xpos, ypos + 2,
|
||||
|
@ -104,7 +104,7 @@ ConfigPathDialog::ConfigPathDialog(
|
|||
// NVRAM directory
|
||||
xpos = vBorder; ypos += b->getHeight() + 3;
|
||||
b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
||||
"NVRAM path:", kChooseNVRamDirCmd);
|
||||
"NVRAM path", kChooseNVRamDirCmd);
|
||||
wid.push_back(b);
|
||||
xpos += buttonWidth + 10;
|
||||
myNVRamPath = new EditTextWidget(this, font, xpos, ypos + 2,
|
||||
|
@ -206,7 +206,7 @@ void ConfigPathDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
// This dialog is resizable under certain conditions, so we need
|
||||
// to re-create it as necessary
|
||||
createBrowser();
|
||||
myBrowser->show("Select ROM directory:", myRomPath->getText(),
|
||||
myBrowser->show("Select ROM directory", myRomPath->getText(),
|
||||
BrowserDialog::Directories, LauncherDialog::kRomDirChosenCmd);
|
||||
break;
|
||||
|
||||
|
@ -214,7 +214,7 @@ void ConfigPathDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
// This dialog is resizable under certain conditions, so we need
|
||||
// to re-create it as necessary
|
||||
createBrowser();
|
||||
myBrowser->show("Select cheat file:", myCheatFile->getText(),
|
||||
myBrowser->show("Select cheat file", myCheatFile->getText(),
|
||||
BrowserDialog::FileLoad, kCheatFileChosenCmd);
|
||||
break;
|
||||
|
||||
|
@ -222,7 +222,7 @@ void ConfigPathDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
// This dialog is resizable under certain conditions, so we need
|
||||
// to re-create it as necessary
|
||||
createBrowser();
|
||||
myBrowser->show("Select palette file:", myPaletteFile->getText(),
|
||||
myBrowser->show("Select palette file", myPaletteFile->getText(),
|
||||
BrowserDialog::FileLoad, kPaletteFileChosenCmd);
|
||||
break;
|
||||
|
||||
|
@ -230,7 +230,7 @@ void ConfigPathDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
// This dialog is resizable under certain conditions, so we need
|
||||
// to re-create it as necessary
|
||||
createBrowser();
|
||||
myBrowser->show("Select properties file:", myPropsFile->getText(),
|
||||
myBrowser->show("Select properties file", myPropsFile->getText(),
|
||||
BrowserDialog::FileLoad, kPropsFileChosenCmd);
|
||||
break;
|
||||
|
||||
|
@ -238,7 +238,7 @@ void ConfigPathDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
// This dialog is resizable under certain conditions, so we need
|
||||
// to re-create it as necessary
|
||||
createBrowser();
|
||||
myBrowser->show("Select NVRAM directory:", myNVRamPath->getText(),
|
||||
myBrowser->show("Select NVRAM directory", myNVRamPath->getText(),
|
||||
BrowserDialog::Directories, kNVRamDirChosenCmd);
|
||||
break;
|
||||
|
||||
|
@ -246,7 +246,7 @@ void ConfigPathDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
// This dialog is resizable under certain conditions, so we need
|
||||
// to re-create it as necessary
|
||||
createBrowser();
|
||||
myBrowser->show("Select state directory:", myStatePath->getText(),
|
||||
myBrowser->show("Select state directory", myStatePath->getText(),
|
||||
BrowserDialog::Directories, kStateDirChosenCmd);
|
||||
break;
|
||||
|
||||
|
|
|
@ -106,13 +106,13 @@ EventMappingWidget::EventMappingWidget(GuiObject* boss, const GUI::Font& font,
|
|||
// Show message for currently selected event
|
||||
xpos = 10; ypos = 5 + myActionsList->getHeight() + 5;
|
||||
StaticTextWidget* t;
|
||||
t = new StaticTextWidget(boss, font, xpos, ypos, font.getStringWidth("Action:"),
|
||||
fontHeight, "Action:", kTextAlignLeft);
|
||||
t = new StaticTextWidget(boss, font, xpos, ypos+2, font.getStringWidth("Action"),
|
||||
fontHeight, "Action", kTextAlignLeft);
|
||||
t->setFlags(WIDGET_CLEARBG);
|
||||
|
||||
myKeyMapping = new EditTextWidget(boss, font, xpos + t->getWidth() + 5, ypos,
|
||||
myKeyMapping = new EditTextWidget(boss, font, xpos + t->getWidth() + 8, ypos,
|
||||
_w - xpos - t->getWidth() - 15, lineHeight, "");
|
||||
myKeyMapping->setEditable(false);
|
||||
myKeyMapping->setEditable(false, true);
|
||||
myKeyMapping->clearFlags(WIDGET_RETAIN_FOCUS);
|
||||
}
|
||||
|
||||
|
|
|
@ -65,52 +65,52 @@ GameInfoDialog::GameInfoDialog(
|
|||
tabID = myTab->addTab("Cartridge");
|
||||
|
||||
xpos = 10;
|
||||
lwidth = font.getStringWidth("Manufacturer: ");
|
||||
lwidth = font.getStringWidth("Manufacturer ");
|
||||
fwidth = _w - xpos - lwidth - 10;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Name:", kTextAlignLeft);
|
||||
"Name", kTextAlignLeft);
|
||||
myName = new EditTextWidget(myTab, font, xpos+lwidth, ypos,
|
||||
fwidth, fontHeight, "");
|
||||
wid.push_back(myName);
|
||||
|
||||
ypos += lineHeight + 3;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"MD5:", kTextAlignLeft);
|
||||
"MD5", kTextAlignLeft);
|
||||
myMD5 = new StaticTextWidget(myTab, font, xpos+lwidth, ypos,
|
||||
fwidth, fontHeight,
|
||||
"", kTextAlignLeft);
|
||||
|
||||
ypos += lineHeight + 3;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Manufacturer:", kTextAlignLeft);
|
||||
"Manufacturer", kTextAlignLeft);
|
||||
myManufacturer = new EditTextWidget(myTab, font, xpos+lwidth, ypos,
|
||||
fwidth, fontHeight, "");
|
||||
wid.push_back(myManufacturer);
|
||||
|
||||
ypos += lineHeight + 3;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Model:", kTextAlignLeft);
|
||||
"Model", kTextAlignLeft);
|
||||
myModelNo = new EditTextWidget(myTab, font, xpos+lwidth, ypos,
|
||||
fwidth, fontHeight, "");
|
||||
wid.push_back(myModelNo);
|
||||
|
||||
ypos += lineHeight + 3;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Rarity:", kTextAlignLeft);
|
||||
"Rarity", kTextAlignLeft);
|
||||
myRarity = new EditTextWidget(myTab, font, xpos+lwidth, ypos,
|
||||
fwidth, fontHeight, "");
|
||||
wid.push_back(myRarity);
|
||||
|
||||
ypos += lineHeight + 3;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Note:", kTextAlignLeft);
|
||||
"Note", kTextAlignLeft);
|
||||
myNote = new EditTextWidget(myTab, font, xpos+lwidth, ypos,
|
||||
fwidth, fontHeight, "");
|
||||
wid.push_back(myNote);
|
||||
|
||||
ypos += lineHeight + 3;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Sound:", kTextAlignLeft);
|
||||
"Sound", kTextAlignLeft);
|
||||
pwidth = font.getStringWidth("Stereo");
|
||||
items.clear();
|
||||
VarList::push_back(items, "Mono", "MONO");
|
||||
|
@ -121,7 +121,7 @@ GameInfoDialog::GameInfoDialog(
|
|||
|
||||
ypos += lineHeight + 3;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Type:", kTextAlignLeft);
|
||||
"Type", kTextAlignLeft);
|
||||
pwidth = font.getStringWidth("CM (SpectraVideo CompuMate)");
|
||||
items.clear();
|
||||
for(int i = 0; i < Cartridge::ourNumBSTypes; ++i)
|
||||
|
@ -139,10 +139,10 @@ GameInfoDialog::GameInfoDialog(
|
|||
tabID = myTab->addTab("Console");
|
||||
|
||||
xpos = 10; ypos = vBorder;
|
||||
lwidth = font.getStringWidth("Right Difficulty: ");
|
||||
lwidth = font.getStringWidth("Right Difficulty ");
|
||||
pwidth = font.getStringWidth("B & W");
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Left Difficulty:", kTextAlignLeft);
|
||||
"Left Difficulty", kTextAlignLeft);
|
||||
items.clear();
|
||||
VarList::push_back(items, "B", "B");
|
||||
VarList::push_back(items, "A", "A");
|
||||
|
@ -152,7 +152,7 @@ GameInfoDialog::GameInfoDialog(
|
|||
|
||||
ypos += lineHeight + 5;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Right Difficulty:", kTextAlignLeft);
|
||||
"Right Difficulty", kTextAlignLeft);
|
||||
// ... use same items as above
|
||||
myRightDiff = new PopUpWidget(myTab, font, xpos+lwidth, ypos,
|
||||
pwidth, lineHeight, items, "", 0, 0);
|
||||
|
@ -160,7 +160,7 @@ GameInfoDialog::GameInfoDialog(
|
|||
|
||||
ypos += lineHeight + 5;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"TV Type:", kTextAlignLeft);
|
||||
"TV Type", kTextAlignLeft);
|
||||
items.clear();
|
||||
VarList::push_back(items, "Color", "COLOR");
|
||||
VarList::push_back(items, "B & W", "BW");
|
||||
|
@ -177,10 +177,10 @@ GameInfoDialog::GameInfoDialog(
|
|||
tabID = myTab->addTab("Controller");
|
||||
|
||||
xpos = 10; ypos = vBorder;
|
||||
lwidth = font.getStringWidth("P0 Controller: ");
|
||||
lwidth = font.getStringWidth("P0 Controller ");
|
||||
pwidth = font.getStringWidth("Paddles_IAxis");
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"P0 Controller:", kTextAlignLeft);
|
||||
"P0 Controller", kTextAlignLeft);
|
||||
ctrls.clear();
|
||||
VarList::push_back(ctrls, "Joystick", "JOYSTICK" );
|
||||
VarList::push_back(ctrls, "Paddles", "PADDLES" );
|
||||
|
@ -218,7 +218,7 @@ GameInfoDialog::GameInfoDialog(
|
|||
xpos = 10; ypos += lineHeight + 5;
|
||||
pwidth = font.getStringWidth("Paddles_IAxis");
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"P1 Controller:", kTextAlignLeft);
|
||||
"P1 Controller", kTextAlignLeft);
|
||||
myP1Controller = new PopUpWidget(myTab, font, xpos+lwidth, ypos,
|
||||
pwidth, lineHeight, ctrls, "", 0, 0);
|
||||
wid.push_back(myP1Controller);
|
||||
|
@ -235,7 +235,7 @@ GameInfoDialog::GameInfoDialog(
|
|||
xpos = 10; ypos += lineHeight + 5;
|
||||
pwidth = font.getStringWidth("Yes");
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Swap Paddles:", kTextAlignLeft);
|
||||
"Swap Paddles", kTextAlignLeft);
|
||||
items.clear();
|
||||
VarList::push_back(items, "Yes", "YES");
|
||||
VarList::push_back(items, "No", "NO");
|
||||
|
@ -244,18 +244,18 @@ GameInfoDialog::GameInfoDialog(
|
|||
wid.push_back(mySwapPaddles);
|
||||
|
||||
ypos += lineHeight + 8;
|
||||
lwidth = font.getStringWidth("Mouse axis mode: ");
|
||||
lwidth = font.getStringWidth("Mouse axis mode ");
|
||||
pwidth = font.getStringWidth("Specific axis");
|
||||
items.clear();
|
||||
VarList::push_back(items, "Automatic", "AUTO");
|
||||
VarList::push_back(items, "Specific axis", "specific");
|
||||
myMouseControl =
|
||||
new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, items,
|
||||
"Mouse axis mode: ", lwidth, kMCtrlChanged);
|
||||
"Mouse axis mode ", lwidth, kMCtrlChanged);
|
||||
wid.push_back(myMouseControl);
|
||||
|
||||
// Mouse controller specific axis
|
||||
lwidth = font.getStringWidth("X-Axis is: ");
|
||||
lwidth = font.getStringWidth("X-Axis is ");
|
||||
pwidth = font.getStringWidth("MindLink 0");
|
||||
items.clear();
|
||||
VarList::push_back(items, "None", MouseControl::NoControl);
|
||||
|
@ -270,18 +270,18 @@ GameInfoDialog::GameInfoDialog(
|
|||
|
||||
xpos = 45; ypos += lineHeight + 4;
|
||||
myMouseX = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, items,
|
||||
"X-Axis is: ", lwidth);
|
||||
"X-Axis is ", lwidth);
|
||||
wid.push_back(myMouseX);
|
||||
|
||||
ypos += lineHeight + 4;
|
||||
myMouseY = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, items,
|
||||
"Y-Axis is: ", lwidth);
|
||||
"Y-Axis is ", lwidth);
|
||||
wid.push_back(myMouseY);
|
||||
|
||||
xpos = 10; ypos += lineHeight + 8;
|
||||
lwidth = font.getStringWidth("Mouse axis range: ");
|
||||
lwidth = font.getStringWidth("Mouse axis range ");
|
||||
myMouseRange = new SliderWidget(myTab, font, xpos, ypos, 8*fontWidth, lineHeight,
|
||||
"Mouse axis range: ", lwidth, kMRangeChanged);
|
||||
"Mouse axis range ", lwidth, kMRangeChanged);
|
||||
myMouseRange->setMinValue(1); myMouseRange->setMaxValue(100);
|
||||
wid.push_back(myMouseRange);
|
||||
|
||||
|
@ -299,10 +299,10 @@ GameInfoDialog::GameInfoDialog(
|
|||
tabID = myTab->addTab("Display");
|
||||
|
||||
xpos = 10; ypos = vBorder;
|
||||
lwidth = font.getStringWidth("Use Phosphor: ");
|
||||
lwidth = font.getStringWidth("Use Phosphor ");
|
||||
pwidth = font.getStringWidth("Auto-detect");
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Format:", kTextAlignLeft);
|
||||
"Format", kTextAlignLeft);
|
||||
items.clear();
|
||||
VarList::push_back(items, "Auto-detect", "AUTO");
|
||||
VarList::push_back(items, "NTSC", "NTSC");
|
||||
|
@ -317,7 +317,7 @@ GameInfoDialog::GameInfoDialog(
|
|||
|
||||
ypos += lineHeight + 5;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"YStart:", kTextAlignLeft);
|
||||
"YStart", kTextAlignLeft);
|
||||
|
||||
myYStart = new SliderWidget(myTab, font, xpos+lwidth, ypos, 8*fontWidth, lineHeight,
|
||||
"", 0, kYStartChanged);
|
||||
|
@ -330,7 +330,7 @@ GameInfoDialog::GameInfoDialog(
|
|||
|
||||
ypos += lineHeight + 5;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Height:", kTextAlignLeft);
|
||||
"Height", kTextAlignLeft);
|
||||
myHeight = new SliderWidget(myTab, font, xpos+lwidth, ypos, 8*fontWidth, lineHeight,
|
||||
"", 0, kHeightChanged);
|
||||
myHeight->setMinValue(FrameManager::minViewableHeight-1);
|
||||
|
@ -343,7 +343,7 @@ GameInfoDialog::GameInfoDialog(
|
|||
ypos += lineHeight + 5;
|
||||
pwidth = font.getStringWidth("Yes");
|
||||
new StaticTextWidget(myTab, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Use Phosphor:", kTextAlignLeft);
|
||||
"Use Phosphor", kTextAlignLeft);
|
||||
items.clear();
|
||||
VarList::push_back(items, "Yes", "YES");
|
||||
VarList::push_back(items, "No", "NO");
|
||||
|
@ -352,8 +352,8 @@ GameInfoDialog::GameInfoDialog(
|
|||
wid.push_back(myPhosphor);
|
||||
|
||||
myPPBlend = new SliderWidget(myTab, font, xpos + lwidth + myPhosphor->getWidth() + 10,
|
||||
ypos, 8*fontWidth, lineHeight, "Blend: ",
|
||||
font.getStringWidth("Blend: "),
|
||||
ypos, 8*fontWidth, lineHeight, "Blend ",
|
||||
font.getStringWidth("Blend "),
|
||||
kPPBlendChanged);
|
||||
myPPBlend->setMinValue(1); myPPBlend->setMaxValue(100);
|
||||
wid.push_back(myPPBlend);
|
||||
|
|
|
@ -39,7 +39,7 @@ GlobalPropsDialog::GlobalPropsDialog(GuiObject* boss, const GUI::Font& font)
|
|||
buttonWidth = font.getStringWidth("Defaults") + 20,
|
||||
buttonHeight = font.getLineHeight() + 4;
|
||||
int xpos, ypos;
|
||||
int lwidth = font.getStringWidth("Right Difficulty: "),
|
||||
int lwidth = font.getStringWidth("Right Difficulty "),
|
||||
pwidth = font.getStringWidth("CM (SpectraVideo CompuMate)");
|
||||
WidgetArray wid;
|
||||
VariantList items;
|
||||
|
@ -53,7 +53,7 @@ GlobalPropsDialog::GlobalPropsDialog(GuiObject* boss, const GUI::Font& font)
|
|||
|
||||
// Bankswitch type
|
||||
new StaticTextWidget(this, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Bankswitch type:", kTextAlignLeft);
|
||||
"Bankswitch type", kTextAlignLeft);
|
||||
for(int i = 0; i < Cartridge::ourNumBSTypes; ++i)
|
||||
VarList::push_back(items, Cartridge::ourBSList[i].desc, Cartridge::ourBSList[i].type);
|
||||
myBSType = new PopUpWidget(this, font, xpos+lwidth, ypos,
|
||||
|
@ -64,7 +64,7 @@ GlobalPropsDialog::GlobalPropsDialog(GuiObject* boss, const GUI::Font& font)
|
|||
// Left difficulty
|
||||
pwidth = font.getStringWidth("Debugger");
|
||||
new StaticTextWidget(this, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Left Difficulty:", kTextAlignLeft);
|
||||
"Left Difficulty", kTextAlignLeft);
|
||||
items.clear();
|
||||
VarList::push_back(items, "Default", "DEFAULT");
|
||||
VarList::push_back(items, "B", "B");
|
||||
|
@ -76,7 +76,7 @@ GlobalPropsDialog::GlobalPropsDialog(GuiObject* boss, const GUI::Font& font)
|
|||
|
||||
// Right difficulty
|
||||
new StaticTextWidget(this, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Right Difficulty:", kTextAlignLeft);
|
||||
"Right Difficulty", kTextAlignLeft);
|
||||
// ... use same items as above
|
||||
myRightDiff = new PopUpWidget(this, font, xpos+lwidth, ypos,
|
||||
pwidth, lineHeight, items, "", 0, 0);
|
||||
|
@ -85,7 +85,7 @@ GlobalPropsDialog::GlobalPropsDialog(GuiObject* boss, const GUI::Font& font)
|
|||
|
||||
// TV type
|
||||
new StaticTextWidget(this, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"TV Type:", kTextAlignLeft);
|
||||
"TV Type", kTextAlignLeft);
|
||||
items.clear();
|
||||
VarList::push_back(items, "Default", "DEFAULT");
|
||||
VarList::push_back(items, "Color", "COLOR");
|
||||
|
@ -97,7 +97,7 @@ GlobalPropsDialog::GlobalPropsDialog(GuiObject* boss, const GUI::Font& font)
|
|||
|
||||
// Start in debugger mode
|
||||
new StaticTextWidget(this, font, xpos, ypos+1, lwidth, fontHeight,
|
||||
"Startup Mode:", kTextAlignLeft);
|
||||
"Startup Mode", kTextAlignLeft);
|
||||
items.clear();
|
||||
VarList::push_back(items, "Console", "false");
|
||||
VarList::push_back(items, "Debugger", "true");
|
||||
|
@ -151,7 +151,7 @@ int GlobalPropsDialog::addHoldWidgets(const GUI::Font& font, int x, int y,
|
|||
|
||||
// Left joystick
|
||||
StaticTextWidget* t = new StaticTextWidget(this, font, xpos, ypos+2,
|
||||
font.getStringWidth("Left Joy:"), fontHeight, "Left Joy:",
|
||||
font.getStringWidth("Left Joy"), fontHeight, "Left Joy",
|
||||
kTextAlignLeft);
|
||||
xpos += t->getWidth()/2 - 5; ypos += t->getHeight() + 10;
|
||||
myJoy[kJ0Up] = new CheckboxWidget(this, font, xpos, ypos, "", kJ0Up);
|
||||
|
@ -171,7 +171,7 @@ int GlobalPropsDialog::addHoldWidgets(const GUI::Font& font, int x, int y,
|
|||
|
||||
// Right joystick
|
||||
t = new StaticTextWidget(this, font, xpos, ypos+2,
|
||||
font.getStringWidth("Right Joy:"), fontHeight, "Right Joy:",
|
||||
font.getStringWidth("Right Joy"), fontHeight, "Right Joy",
|
||||
kTextAlignLeft);
|
||||
xpos += t->getWidth()/2 - 5; ypos += t->getHeight() + 10;
|
||||
myJoy[kJ1Up] = new CheckboxWidget(this, font, xpos, ypos, "", kJ1Up);
|
||||
|
@ -190,7 +190,7 @@ int GlobalPropsDialog::addHoldWidgets(const GUI::Font& font, int x, int y,
|
|||
|
||||
// Console Select/Reset
|
||||
t = new StaticTextWidget(this, font, xpos, ypos+2,
|
||||
font.getStringWidth("Console:"), fontHeight, "Console:",
|
||||
font.getStringWidth("Console"), fontHeight, "Console",
|
||||
kTextAlignLeft);
|
||||
xpos -= 10; ypos += t->getHeight() + 10;
|
||||
myHoldSelect = new CheckboxWidget(this, font, xpos, ypos, "Select");
|
||||
|
|
|
@ -103,7 +103,7 @@ void HelpDialog::updateStrings(uInt8 page, uInt8 lines, string& title)
|
|||
switch(page)
|
||||
{
|
||||
case 1:
|
||||
title = "Common commands:";
|
||||
title = "Common commands";
|
||||
#ifndef BSPF_MAC_OSX
|
||||
ADD_BIND("Ctrl Q", "Quit emulation");
|
||||
#else
|
||||
|
@ -121,7 +121,7 @@ void HelpDialog::updateStrings(uInt8 page, uInt8 lines, string& title)
|
|||
break;
|
||||
|
||||
case 2:
|
||||
title = "Special commands:";
|
||||
title = "Special commands";
|
||||
ADD_BIND("Ctrl g", "Grab mouse (keep in window)");
|
||||
ADD_BIND("Ctrl f", "Switch between NTSC/PAL/SECAM");
|
||||
ADD_BIND("Ctrl s", "Save game properties");
|
||||
|
@ -132,7 +132,7 @@ void HelpDialog::updateStrings(uInt8 page, uInt8 lines, string& title)
|
|||
break;
|
||||
|
||||
case 3:
|
||||
title = "TV Filters:";
|
||||
title = "TV Filters";
|
||||
ADD_BIND(ALT_" 1", "Disable filtering");
|
||||
ADD_BIND(ALT_" 2", "Enable 'Composite' mode");
|
||||
ADD_BIND(ALT_" 3", "Enable 'S-video' mode");
|
||||
|
@ -146,7 +146,7 @@ void HelpDialog::updateStrings(uInt8 page, uInt8 lines, string& title)
|
|||
break;
|
||||
|
||||
case 4:
|
||||
title = "Developer commands:";
|
||||
title = "Developer commands";
|
||||
ADD_BIND("~", "Enter/exit debugger");
|
||||
ADD_LINE();
|
||||
ADD_BIND(ALT_" PgUp", "Increase Display.YStart");
|
||||
|
@ -156,7 +156,7 @@ void HelpDialog::updateStrings(uInt8 page, uInt8 lines, string& title)
|
|||
break;
|
||||
|
||||
case 5:
|
||||
title = "All other commands:";
|
||||
title = "All other commands";
|
||||
ADD_LINE();
|
||||
ADD_BIND("Remapped Events", "");
|
||||
ADD_TEXT("Most other commands can be");
|
||||
|
|
|
@ -104,13 +104,13 @@ void InputDialog::addDevicePortTab(const GUI::Font& font)
|
|||
|
||||
// Stelladaptor mappings
|
||||
xpos = 5; ypos = 5;
|
||||
lwidth = font.getStringWidth("Use mouse as a controller: ");
|
||||
lwidth = font.getStringWidth("Use mouse as a controller ");
|
||||
pwidth = font.getStringWidth("-UI, -Emulation");
|
||||
|
||||
VarList::push_back(items, "Left / Right", "lr");
|
||||
VarList::push_back(items, "Right / Left", "rl");
|
||||
mySAPort = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, items,
|
||||
"Stelladaptor port order: ", lwidth);
|
||||
"Stelladaptor port order ", lwidth);
|
||||
wid.push_back(mySAPort);
|
||||
|
||||
// Use mouse as controller
|
||||
|
@ -120,7 +120,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font)
|
|||
VarList::push_back(items, "Analog devices", "analog");
|
||||
VarList::push_back(items, "Never", "never");
|
||||
myMouseControl = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, items,
|
||||
"Use mouse as a controller: ", lwidth);
|
||||
"Use mouse as a controller ", lwidth);
|
||||
wid.push_back(myMouseControl);
|
||||
|
||||
// Mouse cursor state
|
||||
|
@ -131,7 +131,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font)
|
|||
VarList::push_back(items, "+UI, -Emulation", "2");
|
||||
VarList::push_back(items, "+UI, +Emulation", "3");
|
||||
myCursorState = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, items,
|
||||
"Mouse cursor visibility: ", lwidth);
|
||||
"Mouse cursor visibility ", lwidth);
|
||||
wid.push_back(myCursorState);
|
||||
#ifndef WINDOWED_SUPPORT
|
||||
myCursorState->clearFlags(WIDGET_ENABLED);
|
||||
|
@ -139,21 +139,21 @@ void InputDialog::addDevicePortTab(const GUI::Font& font)
|
|||
|
||||
// Add AtariVox serial port
|
||||
ypos += lineHeight + 5;
|
||||
lwidth = font.getStringWidth("AVox serial port: ");
|
||||
lwidth = font.getStringWidth("AVox serial port ");
|
||||
int fwidth = _w - xpos - lwidth - 20;
|
||||
new StaticTextWidget(myTab, font, xpos, ypos, lwidth, fontHeight,
|
||||
"AVox serial port: ", kTextAlignLeft);
|
||||
"AVox serial port ", kTextAlignLeft);
|
||||
myAVoxPort = new EditTextWidget(myTab, font, xpos+lwidth, ypos,
|
||||
fwidth, fontHeight, "");
|
||||
wid.push_back(myAVoxPort);
|
||||
|
||||
lwidth = font.getStringWidth("Digital paddle sensitivity: ");
|
||||
lwidth = font.getStringWidth("Digital paddle sensitivity ");
|
||||
pwidth = font.getMaxCharWidth() * 8;
|
||||
|
||||
// Add joystick deadzone setting
|
||||
ypos += lineHeight + 8;
|
||||
myDeadzone = new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
"Joystick deadzone size: ", lwidth, kDeadzoneChanged);
|
||||
"Joystick deadzone size ", lwidth, kDeadzoneChanged);
|
||||
myDeadzone->setMinValue(0); myDeadzone->setMaxValue(29);
|
||||
xpos += myDeadzone->getWidth() + 5;
|
||||
myDeadzoneLabel = new StaticTextWidget(myTab, font, xpos, ypos+1, 5*fontWidth,
|
||||
|
@ -164,7 +164,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font)
|
|||
// Add paddle speed (digital emulation)
|
||||
xpos = 5; ypos += lineHeight + 4;
|
||||
myDPaddleSpeed = new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
"Digital paddle sensitivity: ",
|
||||
"Digital paddle sensitivity ",
|
||||
lwidth, kDPSpeedChanged);
|
||||
myDPaddleSpeed->setMinValue(1); myDPaddleSpeed->setMaxValue(20);
|
||||
xpos += myDPaddleSpeed->getWidth() + 5;
|
||||
|
@ -176,7 +176,7 @@ void InputDialog::addDevicePortTab(const GUI::Font& font)
|
|||
// Add paddle speed (mouse emulation)
|
||||
xpos = 5; ypos += lineHeight + 4;
|
||||
myMPaddleSpeed = new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
"Mouse paddle sensitivity: ",
|
||||
"Mouse paddle sensitivity ",
|
||||
lwidth, kMPSpeedChanged);
|
||||
myMPaddleSpeed->setMinValue(1); myMPaddleSpeed->setMaxValue(20);
|
||||
xpos += myMPaddleSpeed->getWidth() + 5;
|
||||
|
|
|
@ -45,8 +45,8 @@ JoystickDialog::JoystickDialog(GuiObject* boss, const GUI::Font& font,
|
|||
// Joystick ID
|
||||
ypos = _h - buttonHeight - 10;
|
||||
StaticTextWidget* t = new StaticTextWidget(this, font, xpos, ypos,
|
||||
font.getStringWidth("Joystick ID: "), font.getFontHeight(),
|
||||
"Joystick ID: ", kTextAlignLeft);
|
||||
font.getStringWidth("Joystick ID "), font.getFontHeight(),
|
||||
"Joystick ID ", kTextAlignLeft);
|
||||
xpos += t->getWidth() + 4;
|
||||
myJoyText = new EditTextWidget(this, font, xpos, ypos-2,
|
||||
font.getStringWidth("Unplugged")+8, font.getLineHeight(), "");
|
||||
|
|
|
@ -116,7 +116,7 @@ LauncherDialog::LauncherDialog(OSystem& osystem, DialogContainer& parent,
|
|||
// Add note textwidget to show any notes for the currently selected ROM
|
||||
xpos = 10;
|
||||
xpos += 5; ypos += myList->getHeight() + 4;
|
||||
lwidth = font.getStringWidth("Note:");
|
||||
lwidth = font.getStringWidth("Note");
|
||||
myDirLabel = new StaticTextWidget(this, font, xpos, ypos, lwidth, fontHeight,
|
||||
"Dir:", kTextAlignLeft);
|
||||
xpos += lwidth + 5;
|
||||
|
@ -515,7 +515,7 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
if(!myRomDir)
|
||||
myRomDir = make_ptr<BrowserDialog>(this, instance().frameBuffer().font(), _w, _h);
|
||||
|
||||
myRomDir->show("Select ROM directory:", "~",
|
||||
myRomDir->show("Select ROM directory", "~",
|
||||
BrowserDialog::Directories, kStartupRomDirChosenCmd);
|
||||
break;
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ LauncherFilterDialog::LauncherFilterDialog(GuiObject* boss, const GUI::Font& fon
|
|||
buttonWidth = font.getStringWidth("Defaults") + 20,
|
||||
buttonHeight = font.getLineHeight() + 4;
|
||||
int xpos, ypos;
|
||||
int lwidth = font.getStringWidth("Show: "),
|
||||
int lwidth = font.getStringWidth("Show "),
|
||||
pwidth = font.getStringWidth("ROMs ending with");
|
||||
WidgetArray wid;
|
||||
VariantList items;
|
||||
|
@ -55,7 +55,7 @@ LauncherFilterDialog::LauncherFilterDialog(GuiObject* boss, const GUI::Font& fon
|
|||
VarList::push_back(items, "ROMs ending with", "__EXTS");
|
||||
myFileType =
|
||||
new PopUpWidget(this, font, xpos, ypos, pwidth, lineHeight, items,
|
||||
"Show: ", lwidth, kFileTypeChanged);
|
||||
"Show ", lwidth, kFileTypeChanged);
|
||||
wid.push_back(myFileType);
|
||||
ypos += lineHeight + 10;
|
||||
|
||||
|
|
|
@ -67,8 +67,8 @@ LoggerDialog::LoggerDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "Verbose", "2");
|
||||
myLogLevel =
|
||||
new PopUpWidget(this, font, xpos, ypos, font.getStringWidth("Verbose"),
|
||||
lineHeight, items, "Log level: ",
|
||||
font.getStringWidth("Log level: "));
|
||||
lineHeight, items, "Log level ",
|
||||
font.getStringWidth("Log level "));
|
||||
wid.push_back(myLogLevel);
|
||||
|
||||
// Should log output also be shown on the console?
|
||||
|
|
|
@ -44,9 +44,9 @@ RomAuditDialog::RomAuditDialog(OSystem& osystem, DialogContainer& parent,
|
|||
const int lineHeight = font.getLineHeight(),
|
||||
fontWidth = font.getMaxCharWidth(),
|
||||
fontHeight = font.getFontHeight(),
|
||||
buttonWidth = font.getStringWidth("Audit path:") + 20,
|
||||
buttonWidth = font.getStringWidth("Audit path") + 20,
|
||||
buttonHeight = font.getLineHeight() + 4,
|
||||
lwidth = font.getStringWidth("ROMs without properties (skipped): ");
|
||||
lwidth = font.getStringWidth("ROMs without properties (skipped) ");
|
||||
int xpos = vBorder, ypos = vBorder;
|
||||
WidgetArray wid;
|
||||
|
||||
|
@ -57,7 +57,7 @@ RomAuditDialog::RomAuditDialog(OSystem& osystem, DialogContainer& parent,
|
|||
// Audit path
|
||||
ButtonWidget* romButton =
|
||||
new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
||||
"Audit path:", kChooseAuditDirCmd);
|
||||
"Audit path", kChooseAuditDirCmd);
|
||||
wid.push_back(romButton);
|
||||
xpos += buttonWidth + 10;
|
||||
myRomPath = new EditTextWidget(this, font, xpos, ypos + 2,
|
||||
|
@ -67,18 +67,16 @@ RomAuditDialog::RomAuditDialog(OSystem& osystem, DialogContainer& parent,
|
|||
// Show results of ROM audit
|
||||
xpos = vBorder + 10; ypos += buttonHeight + 10;
|
||||
new StaticTextWidget(this, font, xpos, ypos, lwidth, fontHeight,
|
||||
"ROMs with properties (renamed): ", kTextAlignLeft);
|
||||
myResults1 = new StaticTextWidget(this, font, xpos + lwidth, ypos,
|
||||
_w - lwidth - 20, fontHeight, "",
|
||||
kTextAlignLeft);
|
||||
myResults1->setFlags(WIDGET_CLEARBG);
|
||||
"ROMs with properties (renamed) ", kTextAlignLeft);
|
||||
myResults1 = new EditTextWidget(this, font, xpos + lwidth, ypos - 2,
|
||||
_w - xpos - lwidth - 10, lineHeight, "");
|
||||
myResults1->setEditable(false, true);
|
||||
ypos += buttonHeight;
|
||||
new StaticTextWidget(this, font, xpos, ypos, lwidth, fontHeight,
|
||||
"ROMs without properties (skipped): ", kTextAlignLeft);
|
||||
myResults2 = new StaticTextWidget(this, font, xpos + lwidth, ypos,
|
||||
_w - lwidth - 20, fontHeight, "",
|
||||
kTextAlignLeft);
|
||||
myResults2->setFlags(WIDGET_CLEARBG);
|
||||
"ROMs without properties (skipped) ", kTextAlignLeft);
|
||||
myResults2 = new EditTextWidget(this, font, xpos + lwidth, ypos - 2,
|
||||
_w - xpos - lwidth - 10, lineHeight, "");
|
||||
myResults2->setEditable(false, true);
|
||||
|
||||
ypos += buttonHeight + 8;
|
||||
new StaticTextWidget(this, font, xpos, ypos, _w - 20, fontHeight,
|
||||
|
@ -102,16 +100,16 @@ void RomAuditDialog::loadConfig()
|
|||
instance().settings().getString("romdir") : currentdir;
|
||||
|
||||
myRomPath->setText(path);
|
||||
myResults1->setLabel("");
|
||||
myResults2->setLabel("");
|
||||
myResults1->setText("");
|
||||
myResults2->setText("");
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void RomAuditDialog::auditRoms()
|
||||
{
|
||||
const string& auditPath = myRomPath->getText();
|
||||
myResults1->setLabel("");
|
||||
myResults2->setLabel("");
|
||||
myResults1->setText("");
|
||||
myResults2->setText("");
|
||||
|
||||
FilesystemNode node(auditPath);
|
||||
FSList files;
|
||||
|
@ -129,6 +127,7 @@ void RomAuditDialog::auditRoms()
|
|||
int renamed = 0, notfound = 0;
|
||||
for(uInt32 idx = 0; idx < files.size(); idx++)
|
||||
{
|
||||
bool renameSucceeded = false;
|
||||
string extension;
|
||||
if(files[idx].isFile() &&
|
||||
LauncherFilterDialog::isValidRomName(files[idx], extension))
|
||||
|
@ -136,19 +135,22 @@ void RomAuditDialog::auditRoms()
|
|||
// Calculate the MD5 so we can get the rest of the info
|
||||
// from the PropertiesSet (stella.pro)
|
||||
const string& md5 = MD5::hash(files[idx]);
|
||||
instance().propSet().getMD5(md5, props);
|
||||
const string& name = props.get(Cartridge_Name);
|
||||
|
||||
// Only rename the file if we found a valid properties entry
|
||||
if(name != "" && name != files[idx].getName())
|
||||
if(instance().propSet().getMD5(md5, props))
|
||||
{
|
||||
const string& newfile = node.getPath() + name + "." + extension;
|
||||
const string& name = props.get(Cartridge_Name);
|
||||
|
||||
if(files[idx].getPath() != newfile && files[idx].rename(newfile))
|
||||
renamed++;
|
||||
// Only rename the file if we found a valid properties entry
|
||||
if(name != "" && name != files[idx].getName())
|
||||
{
|
||||
const string& newfile = node.getPath() + name + "." + extension;
|
||||
if(files[idx].getPath() != newfile && files[idx].rename(newfile))
|
||||
renameSucceeded = true;
|
||||
}
|
||||
}
|
||||
if(renameSucceeded)
|
||||
++renamed;
|
||||
else
|
||||
notfound++;
|
||||
++notfound;
|
||||
}
|
||||
|
||||
// Update the progress bar, indicating one more ROM has been processed
|
||||
|
@ -156,8 +158,8 @@ void RomAuditDialog::auditRoms()
|
|||
}
|
||||
progress.close();
|
||||
|
||||
myResults1->setValue(renamed);
|
||||
myResults2->setValue(notfound);
|
||||
myResults1->setText(Variant(renamed).toString());
|
||||
myResults2->setText(Variant(notfound).toString());
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -190,7 +192,7 @@ void RomAuditDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
break;
|
||||
|
||||
case kChooseAuditDirCmd:
|
||||
myBrowser->show("Select ROM directory to audit:", myRomPath->getText(),
|
||||
myBrowser->show("Select ROM directory to audit", myRomPath->getText(),
|
||||
BrowserDialog::Directories, kAuditDirChosenCmd);
|
||||
break;
|
||||
|
||||
|
@ -198,8 +200,8 @@ void RomAuditDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
{
|
||||
FilesystemNode dir(myBrowser->getResult());
|
||||
myRomPath->setText(dir.getShortPath());
|
||||
myResults1->setLabel("");
|
||||
myResults2->setLabel("");
|
||||
myResults1->setText("");
|
||||
myResults2->setText("");
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -58,8 +58,8 @@ class RomAuditDialog : public Dialog
|
|||
EditTextWidget* myRomPath;
|
||||
|
||||
// Show the results of the ROM audit
|
||||
StaticTextWidget* myResults1;
|
||||
StaticTextWidget* myResults2;
|
||||
EditTextWidget* myResults1;
|
||||
EditTextWidget* myResults2;
|
||||
|
||||
// Show a message about the dangers of using this function
|
||||
unique_ptr<GUI::MessageBox> myConfirmMsg;
|
||||
|
|
|
@ -35,7 +35,7 @@ SnapshotDialog::SnapshotDialog(
|
|||
{
|
||||
const int lineHeight = font.getLineHeight(),
|
||||
fontWidth = font.getMaxCharWidth(),
|
||||
buttonWidth = font.getStringWidth("Save path:") + 20,
|
||||
buttonWidth = font.getStringWidth("Save path") + 20,
|
||||
buttonHeight = font.getLineHeight() + 4;
|
||||
const int vBorder = 10;
|
||||
int xpos, ypos, lwidth, fwidth;
|
||||
|
@ -50,7 +50,7 @@ SnapshotDialog::SnapshotDialog(
|
|||
|
||||
// Snapshot path (save files)
|
||||
b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
||||
"Save path:", kChooseSnapSaveDirCmd);
|
||||
"Save path", kChooseSnapSaveDirCmd);
|
||||
wid.push_back(b);
|
||||
xpos += buttonWidth + 10;
|
||||
mySnapSavePath = new EditTextWidget(this, font, xpos, ypos + 2,
|
||||
|
@ -60,7 +60,7 @@ SnapshotDialog::SnapshotDialog(
|
|||
// Snapshot path (load files)
|
||||
xpos = vBorder; ypos += buttonHeight + 3;
|
||||
b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
|
||||
"Load path:", kChooseSnapLoadDirCmd);
|
||||
"Load path", kChooseSnapLoadDirCmd);
|
||||
wid.push_back(b);
|
||||
xpos += buttonWidth + 10;
|
||||
mySnapLoadPath = new EditTextWidget(this, font, xpos, ypos + 2,
|
||||
|
@ -68,7 +68,7 @@ SnapshotDialog::SnapshotDialog(
|
|||
wid.push_back(mySnapLoadPath);
|
||||
|
||||
// Snapshot naming
|
||||
lwidth = font.getStringWidth("Continuous snapshot interval: ");
|
||||
lwidth = font.getStringWidth("Continuous snapshot interval ");
|
||||
fwidth = font.getStringWidth("internal database");
|
||||
VariantList items;
|
||||
VarList::push_back(items, "actual ROM name", "rom");
|
||||
|
@ -76,7 +76,7 @@ SnapshotDialog::SnapshotDialog(
|
|||
xpos = vBorder+10; ypos += buttonHeight + 8;
|
||||
mySnapName =
|
||||
new PopUpWidget(this, font, xpos, ypos, fwidth, lineHeight, items,
|
||||
"Save snapshots according to: ", lwidth);
|
||||
"Save snapshots according to ", lwidth);
|
||||
wid.push_back(mySnapName);
|
||||
|
||||
// Snapshot interval (continuous mode)
|
||||
|
@ -94,7 +94,7 @@ SnapshotDialog::SnapshotDialog(
|
|||
ypos += buttonHeight;
|
||||
mySnapInterval =
|
||||
new PopUpWidget(this, font, xpos, ypos, fwidth, lineHeight, items,
|
||||
"Continuous snapshot interval: ", lwidth);
|
||||
"Continuous snapshot interval ", lwidth);
|
||||
wid.push_back(mySnapInterval);
|
||||
|
||||
// Booleans for saving snapshots
|
||||
|
@ -184,7 +184,7 @@ void SnapshotDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
// This dialog is resizable under certain conditions, so we need
|
||||
// to re-create it as necessary
|
||||
createBrowser();
|
||||
myBrowser->show("Select snapshot save directory:", mySnapSavePath->getText(),
|
||||
myBrowser->show("Select snapshot save directory", mySnapSavePath->getText(),
|
||||
BrowserDialog::Directories, kSnapSaveDirChosenCmd);
|
||||
break;
|
||||
|
||||
|
@ -192,7 +192,7 @@ void SnapshotDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
// This dialog is resizable under certain conditions, so we need
|
||||
// to re-create it as necessary
|
||||
createBrowser();
|
||||
myBrowser->show("Select snapshot load directory:", mySnapLoadPath->getText(),
|
||||
myBrowser->show("Select snapshot load directory", mySnapLoadPath->getText(),
|
||||
BrowserDialog::Directories, kSnapLoadDirChosenCmd);
|
||||
break;
|
||||
|
||||
|
|
|
@ -64,11 +64,11 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
//////////////////////////////////////////////////////////
|
||||
// 1) Launcher options
|
||||
tabID = myTab->addTab(" Launcher ");
|
||||
lwidth = font.getStringWidth("Exit to Launcher: ");
|
||||
lwidth = font.getStringWidth("Exit to Launcher ");
|
||||
|
||||
// Launcher width and height
|
||||
myLauncherWidthSlider = new SliderWidget(myTab, font, xpos, ypos, pwidth,
|
||||
lineHeight, "Launcher Width: ",
|
||||
lineHeight, "Launcher Width ",
|
||||
lwidth, kLWidthChanged);
|
||||
myLauncherWidthSlider->setMinValue(FrameBuffer::kFBMinW);
|
||||
myLauncherWidthSlider->setMaxValue(ds.w);
|
||||
|
@ -82,7 +82,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
ypos += lineHeight + 4;
|
||||
|
||||
myLauncherHeightSlider = new SliderWidget(myTab, font, xpos, ypos, pwidth,
|
||||
lineHeight, "Launcher Height: ",
|
||||
lineHeight, "Launcher Height ",
|
||||
lwidth, kLHeightChanged);
|
||||
myLauncherHeightSlider->setMinValue(FrameBuffer::kFBMinH);
|
||||
myLauncherHeightSlider->setMaxValue(ds.h);
|
||||
|
@ -103,7 +103,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "Large", "large");
|
||||
myLauncherFontPopup =
|
||||
new PopUpWidget(myTab, font, xpos, ypos+1, pwidth, lineHeight, items,
|
||||
"Launcher Font: ", lwidth);
|
||||
"Launcher Font ", lwidth);
|
||||
wid.push_back(myLauncherFontPopup);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
@ -114,7 +114,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "2x (1000x760)", "2");
|
||||
myRomViewerPopup =
|
||||
new PopUpWidget(myTab, font, xpos, ypos+1, pwidth, lineHeight, items,
|
||||
"ROM Info viewer: ", lwidth);
|
||||
"ROM Info viewer ", lwidth);
|
||||
wid.push_back(myRomViewerPopup);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
@ -125,7 +125,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "Always", "1");
|
||||
myLauncherExitPopup =
|
||||
new PopUpWidget(myTab, font, xpos, ypos+1, pwidth, lineHeight, items,
|
||||
"Exit to Launcher: ", lwidth);
|
||||
"Exit to Launcher ", lwidth);
|
||||
wid.push_back(myLauncherExitPopup);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
@ -144,12 +144,12 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
wid.clear();
|
||||
tabID = myTab->addTab(" Debugger ");
|
||||
#ifdef DEBUGGER_SUPPORT
|
||||
lwidth = font.getStringWidth("Debugger Height: ");
|
||||
lwidth = font.getStringWidth("Debugger Height ");
|
||||
xpos = ypos = vBorder;
|
||||
|
||||
// Debugger width and height
|
||||
myDebuggerWidthSlider = new SliderWidget(myTab, font, xpos, ypos, pwidth,
|
||||
lineHeight, "Debugger Width: ",
|
||||
lineHeight, "Debugger Width ",
|
||||
lwidth, kDWidthChanged);
|
||||
myDebuggerWidthSlider->setMinValue(DebuggerDialog::kSmallFontMinW);
|
||||
myDebuggerWidthSlider->setMaxValue(ds.w);
|
||||
|
@ -163,7 +163,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
ypos += lineHeight + 4;
|
||||
|
||||
myDebuggerHeightSlider = new SliderWidget(myTab, font, xpos, ypos, pwidth,
|
||||
lineHeight, "Debugger Height: ",
|
||||
lineHeight, "Debugger Height ",
|
||||
lwidth, kDHeightChanged);
|
||||
myDebuggerHeightSlider->setMinValue(DebuggerDialog::kSmallFontMinH);
|
||||
myDebuggerHeightSlider->setMaxValue(ds.h);
|
||||
|
@ -192,7 +192,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
ypos += b->getHeight() + 12;
|
||||
|
||||
// Font style (bold label vs. text, etc)
|
||||
lwidth = font.getStringWidth("Font Style: ");
|
||||
lwidth = font.getStringWidth("Font Style ");
|
||||
pwidth = font.getStringWidth("Bold non-labels only");
|
||||
xpos = vBorder;
|
||||
items.clear();
|
||||
|
@ -202,7 +202,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "All Bold font", "3");
|
||||
myDebuggerFontStyle =
|
||||
new PopUpWidget(myTab, font, xpos, ypos+1, pwidth, lineHeight, items,
|
||||
"Font Style: ", lwidth);
|
||||
"Font Style ", lwidth);
|
||||
wid.push_back(myDebuggerFontStyle);
|
||||
|
||||
// Debugger is only realistically available in windowed modes 800x600 or greater
|
||||
|
@ -232,7 +232,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
// 3) Misc. options
|
||||
wid.clear();
|
||||
tabID = myTab->addTab(" Misc. ");
|
||||
lwidth = font.getStringWidth("Interface Palette (*): ");
|
||||
lwidth = font.getStringWidth("Interface Palette (*) ");
|
||||
pwidth = font.getStringWidth("Standard");
|
||||
xpos = ypos = vBorder;
|
||||
|
||||
|
@ -242,7 +242,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "Standard", "standard");
|
||||
VarList::push_back(items, "Classic", "classic");
|
||||
myPalettePopup = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
items, "Interface Palette (*): ", lwidth);
|
||||
items, "Interface Palette (*) ", lwidth);
|
||||
wid.push_back(myPalettePopup);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
@ -258,7 +258,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "900 ms", "900");
|
||||
VarList::push_back(items, "1 second", "1000");
|
||||
myListDelayPopup = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
items, "List quick delay (*): ", lwidth);
|
||||
items, "List quick delay (*) ", lwidth);
|
||||
wid.push_back(myListDelayPopup);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
@ -275,7 +275,7 @@ UIDialog::UIDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "9 lines", "9");
|
||||
VarList::push_back(items, "10 lines", "10");
|
||||
myWheelLinesPopup = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
items, "Mouse wheel scroll: ", lwidth);
|
||||
items, "Mouse wheel scroll ", lwidth);
|
||||
wid.push_back(myWheelLinesPopup);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
buttonWidth = font.getStringWidth("Defaults") + 20,
|
||||
buttonHeight = font.getLineHeight() + 4;
|
||||
int xpos, ypos, tabID;
|
||||
int lwidth = font.getStringWidth("NTSC Aspect: "),
|
||||
int lwidth = font.getStringWidth("NTSC Aspect "),
|
||||
pwidth = font.getStringWidth("XXXXxXXXX");
|
||||
WidgetArray wid;
|
||||
VariantList items;
|
||||
|
@ -66,13 +66,13 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
// Video renderer
|
||||
myRenderer = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
instance().frameBuffer().supportedRenderers(),
|
||||
"Renderer: ", lwidth);
|
||||
"Renderer ", lwidth);
|
||||
wid.push_back(myRenderer);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
// TIA filters (will be dynamically filled later)
|
||||
myTIAZoom = new PopUpWidget(myTab, font, xpos, ypos, pwidth,
|
||||
lineHeight, items, "TIA Zoom: ", lwidth);
|
||||
lineHeight, items, "TIA Zoom ", lwidth);
|
||||
wid.push_back(myTIAZoom);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
@ -82,7 +82,7 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "Z26", "z26");
|
||||
VarList::push_back(items, "User", "user");
|
||||
myTIAPalette = new PopUpWidget(myTab, font, xpos, ypos, pwidth,
|
||||
lineHeight, items, "TIA Palette: ", lwidth);
|
||||
lineHeight, items, "TIA Palette ", lwidth);
|
||||
wid.push_back(myTIAPalette);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
@ -91,7 +91,7 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "Linear", "linear");
|
||||
VarList::push_back(items, "Nearest", "nearest");
|
||||
myTIAInterpolate = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
items, "TIA Inter: ", lwidth);
|
||||
items, "TIA Inter ", lwidth);
|
||||
wid.push_back(myTIAInterpolate);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
|
@ -100,14 +100,14 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "Sleep", "sleep");
|
||||
VarList::push_back(items, "Busy-wait", "busy");
|
||||
myFrameTiming = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
items, "Timing (*): ", lwidth);
|
||||
items, "Timing (*) ", lwidth);
|
||||
wid.push_back(myFrameTiming);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
// Aspect ratio (NTSC mode)
|
||||
myNAspectRatio =
|
||||
new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
"NTSC Aspect: ", lwidth, kNAspectRatioChanged);
|
||||
"NTSC Aspect ", lwidth, kNAspectRatioChanged);
|
||||
myNAspectRatio->setMinValue(80); myNAspectRatio->setMaxValue(120);
|
||||
wid.push_back(myNAspectRatio);
|
||||
myNAspectRatioLabel =
|
||||
|
@ -119,7 +119,7 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
// Aspect ratio (PAL mode)
|
||||
myPAspectRatio =
|
||||
new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
"PAL Aspect: ", lwidth, kPAspectRatioChanged);
|
||||
"PAL Aspect ", lwidth, kPAspectRatioChanged);
|
||||
myPAspectRatio->setMinValue(80); myPAspectRatio->setMaxValue(120);
|
||||
wid.push_back(myPAspectRatio);
|
||||
myPAspectRatioLabel =
|
||||
|
@ -131,7 +131,7 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
// Framerate
|
||||
myFrameRate =
|
||||
new SliderWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
"Framerate: ", lwidth, kFrameRateChanged);
|
||||
"Framerate ", lwidth, kFrameRateChanged);
|
||||
myFrameRate->setMinValue(0); myFrameRate->setMaxValue(300);
|
||||
myFrameRate->setStepValue(10);
|
||||
wid.push_back(myFrameRate);
|
||||
|
@ -205,18 +205,18 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
VarList::push_back(items, "RGB", NTSCFilter::PRESET_RGB);
|
||||
VarList::push_back(items, "Bad adjust", NTSCFilter::PRESET_BAD);
|
||||
VarList::push_back(items, "Custom", NTSCFilter::PRESET_CUSTOM);
|
||||
lwidth = font.getStringWidth("TV Mode: ");
|
||||
lwidth = font.getStringWidth("TV Mode ");
|
||||
pwidth = font.getStringWidth("Bad adjust"),
|
||||
myTVMode =
|
||||
new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight,
|
||||
items, "TV Mode: ", lwidth, kTVModeChanged);
|
||||
items, "TV Mode ", lwidth, kTVModeChanged);
|
||||
wid.push_back(myTVMode);
|
||||
ypos += lineHeight + 4;
|
||||
|
||||
// Custom adjustables (using macro voodoo)
|
||||
xpos += 8; ypos += 4;
|
||||
pwidth = lwidth;
|
||||
lwidth = font.getStringWidth("Saturation: ");
|
||||
lwidth = font.getStringWidth("Saturation ");
|
||||
|
||||
#define CREATE_CUSTOM_SLIDERS(obj, desc) \
|
||||
myTV ## obj = \
|
||||
|
@ -230,16 +230,16 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
myTV ## obj->setFlags(WIDGET_CLEARBG); \
|
||||
ypos += lineHeight + 4
|
||||
|
||||
CREATE_CUSTOM_SLIDERS(Contrast, "Contrast: ");
|
||||
CREATE_CUSTOM_SLIDERS(Bright, "Brightness: ");
|
||||
CREATE_CUSTOM_SLIDERS(Hue, "Hue: ");
|
||||
CREATE_CUSTOM_SLIDERS(Satur, "Saturation: ");
|
||||
CREATE_CUSTOM_SLIDERS(Gamma, "Gamma: ");
|
||||
CREATE_CUSTOM_SLIDERS(Sharp, "Sharpness: ");
|
||||
CREATE_CUSTOM_SLIDERS(Res, "Resolution: ");
|
||||
CREATE_CUSTOM_SLIDERS(Artifacts, "Artifacts: ");
|
||||
CREATE_CUSTOM_SLIDERS(Fringe, "Fringing: ");
|
||||
CREATE_CUSTOM_SLIDERS(Bleed, "Bleeding: ");
|
||||
CREATE_CUSTOM_SLIDERS(Contrast, "Contrast ");
|
||||
CREATE_CUSTOM_SLIDERS(Bright, "Brightness ");
|
||||
CREATE_CUSTOM_SLIDERS(Hue, "Hue ");
|
||||
CREATE_CUSTOM_SLIDERS(Satur, "Saturation ");
|
||||
CREATE_CUSTOM_SLIDERS(Gamma, "Gamma ");
|
||||
CREATE_CUSTOM_SLIDERS(Sharp, "Sharpness ");
|
||||
CREATE_CUSTOM_SLIDERS(Res, "Resolution ");
|
||||
CREATE_CUSTOM_SLIDERS(Artifacts, "Artifacts ");
|
||||
CREATE_CUSTOM_SLIDERS(Fringe, "Fringing ");
|
||||
CREATE_CUSTOM_SLIDERS(Bleed, "Bleeding ");
|
||||
|
||||
xpos += myTVContrast->getWidth() + myTVContrastLabel->getWidth() + 20;
|
||||
ypos = 8;
|
||||
|
@ -249,20 +249,20 @@ VideoDialog::VideoDialog(OSystem& osystem, DialogContainer& parent,
|
|||
"Jitter/Roll effect", kTVJitterChanged);
|
||||
wid.push_back(myTVJitter);
|
||||
ypos += lineHeight;
|
||||
lwidth = font.getStringWidth("Intensity: ");
|
||||
lwidth = font.getStringWidth("Intensity ");
|
||||
pwidth = font.getMaxCharWidth() * 6;
|
||||
CREATE_CUSTOM_SLIDERS(JitterRec, "Recovery: ");
|
||||
CREATE_CUSTOM_SLIDERS(JitterRec, "Recovery ");
|
||||
myTVJitterRec->setMinValue(1); myTVJitterRec->setMaxValue(20);
|
||||
ypos += 4;
|
||||
|
||||
// Scanline intensity and interpolation
|
||||
myTVScanLabel =
|
||||
new StaticTextWidget(myTab, font, xpos, ypos, font.getStringWidth("Scanline settings:"),
|
||||
fontHeight, "Scanline settings:", kTextAlignLeft);
|
||||
new StaticTextWidget(myTab, font, xpos, ypos, font.getStringWidth("Scanline settings"),
|
||||
fontHeight, "Scanline settings", kTextAlignLeft);
|
||||
ypos += lineHeight;
|
||||
|
||||
xpos += 20;
|
||||
CREATE_CUSTOM_SLIDERS(ScanIntense, "Intensity: ");
|
||||
CREATE_CUSTOM_SLIDERS(ScanIntense, "Intensity ");
|
||||
|
||||
myTVScanInterpolate = new CheckboxWidget(myTab, font, xpos, ypos,
|
||||
"Interpolation");
|
||||
|
@ -319,7 +319,7 @@ void VideoDialog::loadConfig()
|
|||
// the desktop and which renderer we're using
|
||||
const VariantList& items = instance().frameBuffer().supportedTIAZoomLevels();
|
||||
myTIAZoom->addItems(items);
|
||||
myTIAZoom->setSelected(instance().settings().getString("tia.zoom"), "2");
|
||||
myTIAZoom->setSelected(instance().settings().getString("tia.zoom"), "3");
|
||||
|
||||
// TIA Palette
|
||||
myTIAPalette->setSelected(
|
||||
|
@ -491,8 +491,8 @@ void VideoDialog::setDefaults()
|
|||
{
|
||||
case 0: // General
|
||||
{
|
||||
myRenderer->setSelected("soft", "");
|
||||
myTIAZoom->setSelected("2", "");
|
||||
myRenderer->setSelectedIndex(0);
|
||||
myTIAZoom->setSelected("3", "");
|
||||
myTIAPalette->setSelected("standard", "");
|
||||
myFrameTiming->setSelected("sleep", "");
|
||||
myTIAInterpolate->setSelected("nearest", "");
|
||||
|
|
Loading…
Reference in New Issue