disabled some developer options for 'Player settings'

updated doc and changes
This commit is contained in:
thrust26 2019-01-12 12:00:35 +01:00
parent f80f291cec
commit fee5f57179
5 changed files with 22 additions and 19 deletions

View File

@ -18,8 +18,14 @@
(thanks go to RomHunter for his tireless research in this area).
Related to this, updated the snapshot collection.
* Added developer option for an extra playfield delay clock which is
exhibitted by a (very) few consoles.
* Added various developer options for oddball TIAs
- delayed playfield bits
- delayed playfield color
- delayed player 0 swap
- delayed player 1 swap
- stuffed player move
* disabled some developer options for 'Player settings'
* Removed superfluous controller option 'PADDLES_IDIR'

View File

@ -2508,7 +2508,7 @@
</tr>
</table>
<p>The following are available in two sets, one for players (prefixed by "plr.") and one
<p>The following are almost all available in two sets, one for players (prefixed by "plr.") and one
for developers (prefixd by "dev."). Only use them if you know what you're doing! Note
that in all cases, the values supplied to the arguments are <b>not</b> case sensitive.</p>
@ -2535,17 +2535,17 @@
<td><pre>-&lt;plr.|dev.&gt;cpurandom &lt;S,A,X,Y,P&gt;</pre></td>
<td>On reset, randomize the content of the specified CPU registers.</td>
</tr><tr>
<td><pre>-&lt;plr.|dev.&gt;tiadriven &lt;1|0&gt;</pre></td>
<td><pre>dev.tiadriven &lt;1|0&gt;</pre></td>
<td>Set unused TIA pins to be randomly driven high or low on a read/peek.
If disabled, use the last databus value for those pins instead.</td>
</tr><tr>
<td><pre>-&lt;plr.|dev.&gt;rwportbreak &lt;1|0&gt;</pre></td>
<td><pre>dev.rwportbreak &lt;1|0&gt;</pre></td>
<td>Since the 2600 has no dedicated R/W line, different addresses are used
for RAM read or write access. If the code reads from such a write address, this causes
an unwanted, semi-random write to that address.
When this option is enabled, such reads interrupt emulation and the debugger is entered.</td>
</tr><tr>
<td><pre>-&lt;plr.|dev.&gt;thumb.trapfatal &lt;1|0&gt;</pre></td>
<td><pre>dev.thumb.trapfatal &lt;1|0&gt;</pre></td>
<td>When enabled, this allows the Thumb ARM emulation to
throw an exception and enter the debugger on fatal errors. When disabled, such
fatal errors are simply logged, and emulation continues. Do not use this
@ -3139,16 +3139,16 @@
<tr><td>Random startup bank</td><td>Randomize the startup bank (only for selected bankswitch types)</td><td>-plr.bankrandom<br/>-dev.bankrandom</td></tr>
<tr><td>Randomize zero-page ...</td><td>When loading a ROM, randomize all RAM content instead of initializing with all zeroes (for 'Console' = 'Atari 2600' only)</td><td>-plr.ramrandom<br/>-dev.ramrandom</td></tr>
<tr><td>Randomize CPU</td><td>When loading a ROM, randomize the content of the specified CPU registers</td><td>-plr.cpurandom<br/>-dev.cpurandom</td></tr>
<tr><td>Drive unused TIA pins ...</td><td>Unused TIA pins are read random instead of the last databus values</td><td>-plr.tiadriven<br/>-dev.tiadriven</td></tr>
<tr><td>Drive unused TIA pins ...</td><td>Unused TIA pins are read random instead of the last databus values</td><td>-dev.tiadriven</td></tr>
<tr>
<td>Break on reads from ...</td>
<td>A read from a write port interrupts emulation and the debugger is entered.</td>
<td><span style="white-space:nowrap">-plr.rwportbreak<br/>-dev.rwportbreak</span></td>
<td><span style="white-space:nowrap">-dev.rwportbreak</span></td>
</tr>
<tr>
<td>Fatal ARM emulation ...</td>
<td>Thumb ARM emulation throws an exception and enters the debugger on fatal errors</td>
<td><span style="white-space:nowrap">-plr.thumb.trapfatal<br/>-dev.thumb.trapfatal</span></td>
<td><span style="white-space:nowrap">-dev.thumb.trapfatal</span></td>
</tr>
<tr><td>Display AtariVox...</td><td>Display a message when the AtariVox/SaveKey EEPROM is read or written</td><td>-plr.eepromaccess<br/>-dev.eepromaccess</td></tr>
</table>

View File

@ -161,7 +161,6 @@ Settings::Settings(OSystem& osystem)
setInternal("plr.tv.jitter", "true");
setInternal("plr.tv.jitter_recovery", "10");
setInternal("plr.debugcolors", "false");
setInternal("plr.tiadriven", "false");
setInternal("plr.console", "2600"); // 7800
setInternal("plr.timemachine", true);
setInternal("plr.tm.size", 200);
@ -183,7 +182,7 @@ Settings::Settings(OSystem& osystem)
setInternal("dev.tiadriven", "true");
setInternal("dev.console", "2600"); // 7800
setInternal("dev.tia.delaypfbits", "false");
setInternal("dev.tia.delaycolorbits", "false");
setInternal("dev.tia.delaypfcolor", "false");
setInternal("dev.tia.delayp0swap", "false");
setInternal("dev.tia.delayp1swap", "false");
setInternal("dev.tia.stuffplayerhm", "false");
@ -622,8 +621,6 @@ void Settings::usage() const
<< " -plr.colorloss <1|0> Enable PAL color-loss effect\n"
<< " -plr.tv.jitter <1|0> Enable TV jitter effect\n"
<< " -plr.tv.jitter_recovery <1-20> Set recovery time for TV jitter effect\n"
<< " -plr.tiadriven <1|0> Drive unused TIA pins randomly on a\n"
<< " read/peek\n"
<< " -plr.eepromaccess <1|0> Enable messages for AtariVox/SaveKey access\n"
<< " messages\n"
<< endl

View File

@ -81,7 +81,7 @@ TIA::TIA(Console& console, Settings& settings)
myCollisionsEnabledBits(0xFF)
{
bool devSettings = mySettings.getBool("dev.settings");
myTIAPinsDriven = mySettings.getBool(devSettings ? "dev.tiadriven" : "plr.tiadriven");
myTIAPinsDriven = devSettings ? mySettings.getBool("dev.tiadriven") : false;
myBackground.setTIA(this);
myPlayfield.setTIA(this);
@ -1075,10 +1075,8 @@ bool TIA::driveUnusedPinsRandom(uInt8 mode)
// If mode is 0 or 1, use it as a boolean (off or on)
// Otherwise, return the state
if (mode == 0 || mode == 1)
{
myTIAPinsDriven = bool(mode);
mySettings.setValue(mySettings.getBool("dev.settings") ? "dev.tiadriven" : "plr.tiadriven", myTIAPinsDriven);
}
return myTIAPinsDriven;
}

View File

@ -551,7 +551,7 @@ void DeveloperDialog::loadSettings(SettingsSet set)
myRandomizeRAM[set] = instance().settings().getBool(prefix + "ramrandom");
myRandomizeCPU[set] = instance().settings().getString(prefix + "cpurandom");
// Undriven TIA pins
myUndrivenPins[set] = instance().settings().getBool(prefix + "tiadriven");
myUndrivenPins[set] = devSettings ? instance().settings().getBool("dev.tiadriven") : false;
#ifdef DEBUGGER_SUPPORT
// Read from write ports break
myRWPortBreak[set] = devSettings ? instance().settings().getBool("dev.rwportbreak") : false;
@ -600,7 +600,8 @@ void DeveloperDialog::saveSettings(SettingsSet set)
instance().settings().setValue(prefix + "ramrandom", myRandomizeRAM[set]);
instance().settings().setValue(prefix + "cpurandom", myRandomizeCPU[set]);
// Undriven TIA pins
instance().settings().setValue(prefix + "tiadriven", myUndrivenPins[set]);
if(devSettings)
instance().settings().setValue("dev.tiadriven", myUndrivenPins[set]);
#ifdef DEBUGGER_SUPPORT
if(devSettings)
// Read from write ports break
@ -1045,6 +1046,7 @@ void DeveloperDialog::handleCommand(CommandSender* sender, int cmd, int data, in
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void DeveloperDialog::handleSettings(bool devSettings)
{
myUndrivenPinsWidget->setEnabled(devSettings);
myRWPortBreakWidget->setEnabled(devSettings);
myThumbExceptionWidget->setEnabled(devSettings);