diff --git a/Announce.txt b/Announce.txt index a374363f2..877ecaba8 100644 --- a/Announce.txt +++ b/Announce.txt @@ -33,7 +33,7 @@ distributions currently available are: * Binary distribution for MacOSX 32-bit & 64-bit : Stella-3.1-macosx.dmg (32-bit Universal Binary) - Stella-3.1_intel-macosx.dmg (32/64-bit Intel-only) + Stella-3.1_intel_10.6-macosx.dmg (32/64-bit Intel/Snow-Leopard only) * Binary distribution in 32-bit & 64-bit Ubuntu DEB format : stella_3.1-1_i386.deb diff --git a/Changes.txt b/Changes.txt index 338a0d41d..eec775256 100644 --- a/Changes.txt +++ b/Changes.txt @@ -12,12 +12,16 @@ Release History =========================================================================== -3.0 to 3.1: (April 16, 2010) +3.0 to 3.1: (April 22, 2010) * Fixed a major bug with text drawing in software rendering mode. Switching between windowed and fullscreen mode while text was being shown could result in garbled text or even a program crash. + * Fixed issues when using 'sleep' timing, whereby a lockup could occur + when changing video modes, and/or Stella would consume more CPU time + than was necessary. + * Integrated Distella disassembler, completely replacing the previous disassembler. The entire infrastructure has not been completely ported yet. As a result, labels defined by the user or from a @@ -45,8 +49,8 @@ actions are tied to the same keys as the enable ones, except the 'Shift' key is also used. - * Added 'DPC+' bankswitching scheme, thanks to Darrell Spice Jr and - Fred Quimby. + * Added preliminary support for 'DPC+' bankswitching scheme, thanks to + Darrell Spice Jr and Fred Quimby. * Added '16in1' bankswitching scheme, which works with various ROMs labeled '128-in-1 ...' (the database has been updated for @@ -104,9 +108,8 @@ Two versions are available: the first is a 32-bit Universal Binary for OSX 10.4 - 10.6, and the second is 32/64-bit Intel-only for - OSX 10.4 - 10.6 (64-bit requires 10.6). The Intel version is - compiled with the very latest compiler (Clang), resulting in - better performance. + OSX 10.6 (aka Snow Leopard). The Intel version is compiled with the + very latest compiler (LLVM/Clang), resulting in better performance. The keyboard handling is changed to match other systems in terms of where the keys actually are on the keyboard (ie, the OSX Command key diff --git a/Readme.txt b/Readme.txt index 1afa9baeb..fed824aaa 100644 --- a/Readme.txt +++ b/Readme.txt @@ -9,4 +9,4 @@ the Stella Website at: Enjoy, The Stella Team -April 16, 2010 +April 23, 2010 diff --git a/docs/index.html b/docs/index.html index ca3c65315..c05fede2b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -438,7 +438,7 @@    OR
  • Copy the Stella.app package to your 'Applications' folder.
  • -
  • For compiling the Intel version only, open the stella-release/src/macosx/stella_intel.xcodeproj file instead, and continue from +
  • For compiling the Intel/Snow Leopard version, open the stella-release/src/macosx/stella_intel.xcodeproj file instead, and continue from step 2 above.
  • diff --git a/src/common/Version.hxx b/src/common/Version.hxx index ccb52bb67..be4914ba8 100644 --- a/src/common/Version.hxx +++ b/src/common/Version.hxx @@ -22,7 +22,7 @@ #include -#define STELLA_VERSION "3.1_test6" +#define STELLA_VERSION "3.1" #define STELLA_BUILD atoi("$Rev$"+6) diff --git a/src/emucore/OSystem.cxx b/src/emucore/OSystem.cxx index bde6736d2..1e96267a8 100644 --- a/src/emucore/OSystem.cxx +++ b/src/emucore/OSystem.cxx @@ -366,8 +366,11 @@ void OSystem::setConfigFile(const string& file) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void OSystem::setFramerate(float framerate) { - myDisplayFrameRate = framerate; - myTimePerFrame = (uInt32)(1000000.0 / myDisplayFrameRate); + if(framerate > 0.0) + { + myDisplayFrameRate = framerate; + myTimePerFrame = (uInt32)(1000000.0 / myDisplayFrameRate); + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -819,8 +822,10 @@ string OSystem::getROMInfo(const Console* console) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void OSystem::resetLoopTiming() { - memset(&myTimingInfo, 0, sizeof(TimingInfo)); myTimingInfo.start = myTimingInfo.virt = getTicks(); + myTimingInfo.current = 0; + myTimingInfo.totalTime = 0; + myTimingInfo.totalFrames = 0; } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -913,6 +918,15 @@ void OSystem::mainLoop() myTimingInfo.current = getTicks(); myTimingInfo.virt += myTimePerFrame; + // Timestamps may periodically go out of sync, particularly on systems + // that can have 'negative time' (ie, when the time seems to go backwards) + // This normally results in having a very large delay time, so we check + // for that and reset the timers when appropriate + if((myTimingInfo.virt - myTimingInfo.current) > (myTimePerFrame << 1)) + { + myTimingInfo.start = myTimingInfo.current = myTimingInfo.virt = getTicks(); + } + if(myTimingInfo.current < myTimingInfo.virt) SDL_Delay((myTimingInfo.virt - myTimingInfo.current) / 1000); diff --git a/src/macosx/stella_intel.xcodeproj/project.pbxproj b/src/macosx/stella_intel.xcodeproj/project.pbxproj index 300f229b0..86bd6dbfb 100644 --- a/src/macosx/stella_intel.xcodeproj/project.pbxproj +++ b/src/macosx/stella_intel.xcodeproj/project.pbxproj @@ -1813,6 +1813,7 @@ ); GCC_OPTIMIZATION_LEVEL = 0; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + SDKROOT = ""; VALID_ARCHS = "i386 x86_64"; }; name = Development; @@ -1829,6 +1830,7 @@ GCC_OPTIMIZATION_LEVEL = 3; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; MACOSX_DEPLOYMENT_TARGET = ""; + SDKROOT = ""; VALID_ARCHS = "i386 x86_64"; }; name = Deployment; @@ -1839,7 +1841,7 @@ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; MACOSX_DEPLOYMENT_TARGET = 10.4; - SDKROOT = macosx10.4; + SDKROOT = ""; VALID_ARCHS = "i386 x86_64"; }; name = Default; diff --git a/src/unix/stella.spec b/src/unix/stella.spec index 9e1dd92ee..f270d71d7 100644 --- a/src/unix/stella.spec +++ b/src/unix/stella.spec @@ -107,7 +107,7 @@ rm -rf $RPM_BUILD_DIR/%{name}-%{version} %_datadir/icons/large/%{name}.png %changelog -* Fri Apr 16 2010 Stephen Anthony 3.1-1 +* Fri Apr 23 2010 Stephen Anthony 3.1-1 - Version 3.1 release * Fri Sep 11 2009 Stephen Anthony 3.0-1