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 // See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES. // 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> #include <cassert>
@ -99,6 +99,7 @@ Settings::Settings(OSystem* osystem)
// Misc options // Misc options
setInternal("autoslot", "false"); setInternal("autoslot", "false");
setInternal("showinfo", "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" << " -holdreset Start the emulator with the Game Reset switch held down\n"
<< " -holdselect Start the emulator with the Game Select 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" << " -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 << endl
<< " -bs <arg> Sets the 'Cartridge.Type' (bankswitch) property\n" << " -bs <arg> Sets the 'Cartridge.Type' (bankswitch) property\n"
<< " -type <arg> Same as using -bs\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 // See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES. // 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> #include <cassert>
@ -191,9 +191,7 @@ void TIA::reset()
myAllowHMOVEBlanks = myAllowHMOVEBlanks =
(myConsole.properties().get(Emulation_HmoveBlanks) == "YES"); (myConsole.properties().get(Emulation_HmoveBlanks) == "YES");
myFloatTIAOutputPins = true; myFloatTIAOutputPins = mySettings.getBool("tiafloat");
// (myConsole.properties().get(Emulation_FloatOutputPins) == "YES");
// TODO: add an actual command line switch to set this
if(myConsole.getFramerate() > 55) // NTSC if(myConsole.getFramerate() > 55) // NTSC
{ {
@ -1974,12 +1972,10 @@ uInt8 TIA::peek(uInt16 addr)
uInt8 noise = mySystem->getDataBusState() & 0x3F; uInt8 noise = mySystem->getDataBusState() & 0x3F;
/* // On certain CMOS EPROM chips the unused TIA pins on a read are not
On certain CMOS EPROM chips the unused TIA pins on a read are not // floating but pulled high. Programmers might want to check their
floating but pulled high. Programmers might want to check their // games for compatibility, so we make this optional.
games for compatibility, so we make this optional. if(!myFloatTIAOutputPins) noise = 0x3F;
*/
if(myFloatTIAOutputPins == false) noise = 0x3F;
switch(addr & 0x000f) switch(addr & 0x000f)
{ {