Added '-tiafloat' boolean commandline argument, which defaults to 1/true.

This ties into the TIA floating pin on read logic that Eckhard recently added.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1418 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2008-03-03 18:54:51 +00:00
parent 9e8e2fac6c
commit f1eb370637
2 changed files with 9 additions and 11 deletions

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: Settings.cxx,v 1.132 2008-03-03 14:53:34 stephena Exp $
// $Id: Settings.cxx,v 1.133 2008-03-03 18:54:51 stephena Exp $
//============================================================================
#include <cassert>
@ -99,6 +99,7 @@ Settings::Settings(OSystem* osystem)
// Misc options
setInternal("autoslot", "false");
setInternal("showinfo", "false");
setInternal("tiafloat", "true");
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -342,6 +343,7 @@ void Settings::usage()
<< " -holdreset Start the emulator with the Game Reset switch held down\n"
<< " -holdselect Start the emulator with the Game Select switch held down\n"
<< " -holdbutton0 Start the emulator with the left joystick button held down\n"
<< " -tiafloat <1|0> Set unused TIA pins floating on a read/peek\n"
<< endl
<< " -bs <arg> Sets the 'Cartridge.Type' (bankswitch) property\n"
<< " -type <arg> Same as using -bs\n"

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: TIA.cxx,v 1.85 2008-03-03 17:51:55 estolberg Exp $
// $Id: TIA.cxx,v 1.86 2008-03-03 18:54:51 stephena Exp $
//============================================================================
#include <cassert>
@ -191,9 +191,7 @@ void TIA::reset()
myAllowHMOVEBlanks =
(myConsole.properties().get(Emulation_HmoveBlanks) == "YES");
myFloatTIAOutputPins = true;
// (myConsole.properties().get(Emulation_FloatOutputPins) == "YES");
// TODO: add an actual command line switch to set this
myFloatTIAOutputPins = mySettings.getBool("tiafloat");
if(myConsole.getFramerate() > 55) // NTSC
{
@ -1974,12 +1972,10 @@ uInt8 TIA::peek(uInt16 addr)
uInt8 noise = mySystem->getDataBusState() & 0x3F;
/*
On certain CMOS EPROM chips the unused TIA pins on a read are not
floating but pulled high. Programmers might want to check their
games for compatibility, so we make this optional.
*/
if(myFloatTIAOutputPins == false) noise = 0x3F;
// On certain CMOS EPROM chips the unused TIA pins on a read are not
// floating but pulled high. Programmers might want to check their
// games for compatibility, so we make this optional.
if(!myFloatTIAOutputPins) noise = 0x3F;
switch(addr & 0x000f)
{