diff --git a/Changes.txt b/Changes.txt index 7cb8cb666..42db93bb3 100644 --- a/Changes.txt +++ b/Changes.txt @@ -93,6 +93,9 @@ certain older DPC+ driver versions; this allows 'Epic Adventure' ROM to finally work in Stella. + * Fixed bug in DPC+ scheme; 'fast fetch mode' was enabled at startup, + when it should be disabled by default. + * Certain buttons in the UI can now be activated repeatedly by holding down the mouse button (Time Machine, debugger step/trace/frame advance, etc.) diff --git a/src/emucore/CartCTY.cxx b/src/emucore/CartCTY.cxx index e60ed920f..f320e787b 100644 --- a/src/emucore/CartCTY.cxx +++ b/src/emucore/CartCTY.cxx @@ -60,6 +60,10 @@ void CartridgeCTY::reset() myRAM[0] = myRAM[1] = myRAM[2] = myRAM[3] = 0xFF; + myLDAimmediate = false; + myRandomNumber = 0x2B435044; + myRamAccessTimeout = 0; + myAudioCycles = 0; myFractionalClocks = 0.0; diff --git a/src/emucore/CartDPCPlus.cxx b/src/emucore/CartDPCPlus.cxx index 7fbdc7e14..4a18befa4 100644 --- a/src/emucore/CartDPCPlus.cxx +++ b/src/emucore/CartDPCPlus.cxx @@ -76,9 +76,6 @@ CartridgeDPCPlus::CartridgeDPCPlus(const ByteBuffer& image, uInt32 size, // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void CartridgeDPCPlus::reset() { - myAudioCycles = myARMCycles = 0; - myFractionalClocks = 0.0; - setInitialState(); // DPC+ always starts in bank 5 @@ -110,6 +107,11 @@ void CartridgeDPCPlus::setInitialState() // Initialize the DPC's random number generator register (must be non-zero) myRandomNumber = 0x2B435044; // "DPC+" + + // Initialize various other parameters + myFastFetch = myLDAimmediate = false; + myAudioCycles = myARMCycles = 0; + myFractionalClocks = 0.0; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -