Fixed regression with missing VSYNC in certain ROMs, and bumped

version # for next release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2566 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2012-10-30 22:21:09 +00:00
parent 19098e1f43
commit 2b27e23276
10 changed files with 48 additions and 30 deletions

View File

@ -9,7 +9,7 @@
SSSS ttt eeeee llll llll aaaaa SSSS ttt eeeee llll llll aaaaa
=========================================================================== ===========================================================================
Release 3.7.3 for Linux, MacOSX and Windows Release 3.7.4 for Linux, MacOSX and Windows
=========================================================================== ===========================================================================
The Atari 2600 Video Computer System (VCS), introduced in 1977, was the The Atari 2600 Video Computer System (VCS), introduced in 1977, was the
@ -21,28 +21,28 @@ all of your favourite Atari 2600 games again! Stella was originally
developed for Linux by Bradford W. Mott, however, it has been ported to a developed for Linux by Bradford W. Mott, however, it has been ported to a
number of other platforms and is currently maintained by Stephen Anthony. number of other platforms and is currently maintained by Stephen Anthony.
This is the 3.7.3 release of Stella for Linux, Mac OSX and Windows. The This is the 3.7.4 release of Stella for Linux, Mac OSX and Windows. The
distributions currently available are: distributions currently available are:
* Binaries for Windows XP/Vista/7 : * Binaries for Windows XP/Vista/7 :
Stella-3.7.3-win32.exe (32-bit EXE installer) Stella-3.7.4-win32.exe (32-bit EXE installer)
Stella-3.7.3-x64.exe (64-bit EXE installer) Stella-3.7.4-x64.exe (64-bit EXE installer)
Stella-3.7.3-windows.zip (32/64 bit versions) Stella-3.7.4-windows.zip (32/64 bit versions)
* Binary distribution for MacOS X 32-bit & 64-bit : * Binary distribution for MacOS X 32-bit & 64-bit :
Stella-3.7.3-macosx.dmg (32-bit Universal Binary) Stella-3.7.4-macosx.dmg (32-bit Universal Binary)
Stella-3.7.3_intel-macosx.dmg (32/64-bit Intel/OSX 10.6+) Stella-3.7.4_intel-macosx.dmg (32/64-bit Intel/OSX 10.6+)
* Binary distribution in 32-bit & 64-bit Ubuntu DEB format : * Binary distribution in 32-bit & 64-bit Ubuntu DEB format :
stella_3.7.3-1_i386.deb stella_3.7.4-1_i386.deb
stella_3.7.3-1_amd64.deb stella_3.7.4-1_amd64.deb
* Binary distribution in 32-bit & 64-bit RPM format : * Binary distribution in 32-bit & 64-bit RPM format :
stella-3.7.3-2.i386.rpm stella-3.7.4-2.i386.rpm
stella-3.7.3-2.x86_64.rpm stella-3.7.4-2.x86_64.rpm
* Source code distribution for all platforms : * Source code distribution for all platforms :
stella-3.7.3-src.tar.gz stella-3.7.4-src.tar.gz
Distribution Site Distribution Site

View File

@ -12,6 +12,14 @@
Release History Release History
=========================================================================== ===========================================================================
3.7.3 to 3.7.4: (October 31, 2012)
* Fixed screen blanking regression in 'Video Chess', and improved
behaviour of ROMs that don't use VSYNC.
-Have fun!
3.7.2 to 3.7.3: (October 26, 2012) 3.7.2 to 3.7.3: (October 26, 2012)
* Note: because of TIA/RIOT changes, the state file format has changed * Note: because of TIA/RIOT changes, the state file format has changed
@ -38,8 +46,6 @@
* Updated included PNG library to latest stable version. * Updated included PNG library to latest stable version.
-Have fun!
3.7.1 to 3.7.2: (June 10, 2012) 3.7.1 to 3.7.2: (June 10, 2012)

View File

@ -1,4 +1,4 @@
This is release 3.7.3 of Stella. Stella is a multi-platform Atari 2600 VCS This is release 3.7.4 of Stella. Stella is a multi-platform Atari 2600 VCS
emulator which allows you to play all of your favourite Atari 2600 games emulator which allows you to play all of your favourite Atari 2600 games
on your PC. You'll find the Stella Users Manual in the docs subdirectory. on your PC. You'll find the Stella Users Manual in the docs subdirectory.
If you'd like to verify that you have the latest release of Stella visit If you'd like to verify that you have the latest release of Stella visit
@ -9,4 +9,4 @@ the Stella Website at:
Enjoy, Enjoy,
The Stella Team The Stella Team
October 26, 2012 October 31, 2012

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
stella (3.7.4-1) stable; urgency=high
* Version 3.7.4 release
-- Stephen Anthony <stephena@users.sf.net> Wed, 31 Oct 2012 18:38:25 +0200
stella (3.7.3-1) stable; urgency=high stella (3.7.3-1) stable; urgency=high
* Version 3.7.3 release * Version 3.7.3 release

View File

@ -10,7 +10,7 @@
<br><br> <br><br>
<center><h2><b>A multi-platform Atari 2600 VCS emulator</b></h2></center> <center><h2><b>A multi-platform Atari 2600 VCS emulator</b></h2></center>
<center><h4><b>Release 3.7.3</b></h4></center> <center><h4><b>Release 3.7.4</b></h4></center>
<br><br> <br><br>
<center><h2><b>User's Guide</b></h2></center> <center><h2><b>User's Guide</b></h2></center>

View File

@ -22,7 +22,7 @@
#include <cstdlib> #include <cstdlib>
#define STELLA_VERSION "3.7.3" #define STELLA_VERSION "3.7.4_pre"
#define STELLA_BUILD atoi("$Rev$" + 6) #define STELLA_BUILD atoi("$Rev$" + 6)
#endif #endif

View File

@ -559,7 +559,7 @@ inline void TIA::startFrame()
mySystem->resetCycles(); mySystem->resetCycles();
// Setup clocks that'll be used for drawing this frame // Setup clocks that'll be used for drawing this frame
myClockWhenFrameStarted = -1 * clocks; myClockWhenFrameStarted = -clocks;
myClockStartDisplay = myClockWhenFrameStarted; myClockStartDisplay = myClockWhenFrameStarted;
myClockStopDisplay = myClockWhenFrameStarted + myStopDisplayOffset; myClockStopDisplay = myClockWhenFrameStarted + myStopDisplayOffset;
myClockAtLastUpdate = myClockStartDisplay; myClockAtLastUpdate = myClockStartDisplay;
@ -600,12 +600,14 @@ inline void TIA::startFrame()
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
inline void TIA::endFrame() inline void TIA::endFrame()
{ {
uInt32 currentlines = scanlines();
// The TIA may generate frames that are 'invisible' to TV (they complete // The TIA may generate frames that are 'invisible' to TV (they complete
// before the first visible scanline) // before the first visible scanline)
// Such 'short' frames can't simply be eliminated, since they're running // Such 'short' frames can't simply be eliminated, since they're running
// code at that point; however, they are not shown at all, otherwise the // code at that point; however, they are not shown at all, otherwise the
// double-buffering of the video output will get confused // double-buffering of the video output will get confused
if(scanlines() <= myStartScanline) if(currentlines <= myStartScanline)
{ {
// Skip display of this frame, as if it wasn't generated at all // Skip display of this frame, as if it wasn't generated at all
startFrame(); startFrame();
@ -614,7 +616,7 @@ inline void TIA::endFrame()
// Compute the number of scanlines in the frame // Compute the number of scanlines in the frame
uInt32 previousCount = myScanlineCountForLastFrame; uInt32 previousCount = myScanlineCountForLastFrame;
myScanlineCountForLastFrame = scanlines(); myScanlineCountForLastFrame = currentlines;
// The following handle cases where scanlines either go too high or too // The following handle cases where scanlines either go too high or too
// low compared to the previous frame, in which case certain portions // low compared to the previous frame, in which case certain portions
@ -627,10 +629,10 @@ inline void TIA::endFrame()
// Did we generate too many scanlines? // Did we generate too many scanlines?
// (usually caused by VBLANK/VSYNC taking too long or not occurring at all) // (usually caused by VBLANK/VSYNC taking too long or not occurring at all)
// If so, blank entire viewable area // If so, blank entire viewable area
if(myScanlineCountForLastFrame > 342) if(myScanlineCountForLastFrame > myMaximumNumberOfScanlines+1)
{ {
myScanlineCountForLastFrame = 342; myScanlineCountForLastFrame = myMaximumNumberOfScanlines;
if(previousCount <= 342) if(previousCount < myMaximumNumberOfScanlines)
{ {
memset(myCurrentFrameBuffer, 0, 160 * 320); memset(myCurrentFrameBuffer, 0, 160 * 320);
memset(myPreviousFrameBuffer, 1, 160 * 320); memset(myPreviousFrameBuffer, 1, 160 * 320);

View File

@ -53,7 +53,7 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>StLa</string> <string>StLa</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>3.7.3</string> <string>3.7.4</string>
<key>NSMainNibFile</key> <key>NSMainNibFile</key>
<string>SDLMain.nib</string> <string>SDLMain.nib</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>

View File

@ -1,5 +1,5 @@
%define name stella %define name stella
%define version 3.7.3 %define version 3.7.4
%define rel 1 %define rel 1
%define enable_gl 1 %define enable_gl 1
@ -108,6 +108,9 @@ rm -rf $RPM_BUILD_DIR/%{name}-%{version}
%_datadir/icons/large/%{name}.png %_datadir/icons/large/%{name}.png
%changelog %changelog
* Wed Oct 31 2012 Stephen Anthony <stephena@users.sf.net> 3.7.4-1
- Version 3.7.4 release
* Fri Oct 26 2012 Stephen Anthony <stephena@users.sf.net> 3.7.3-1 * Fri Oct 26 2012 Stephen Anthony <stephena@users.sf.net> 3.7.3-1
- Version 3.7.3 release - Version 3.7.3 release

View File

@ -36,8 +36,8 @@ IDI_ICON ICON "stella.ico"
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,7,3,0 FILEVERSION 3,7,4,0
PRODUCTVERSION 3,7,3,0 PRODUCTVERSION 3,7,4,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -55,12 +55,12 @@ BEGIN
VALUE "Comments", "The multi-platform Atari 2600 emulator. Stella is released under the GPLv2." VALUE "Comments", "The multi-platform Atari 2600 emulator. Stella is released under the GPLv2."
VALUE "CompanyName", "The Stella Team (http://stella.sourceforge.net)" VALUE "CompanyName", "The Stella Team (http://stella.sourceforge.net)"
VALUE "FileDescription", "Stella" VALUE "FileDescription", "Stella"
VALUE "FileVersion", "3.7.3" VALUE "FileVersion", "3.7.4"
VALUE "InternalName", "Stella" VALUE "InternalName", "Stella"
VALUE "LegalCopyright", "Copyright (C) 1995-2012 The Stella Team" VALUE "LegalCopyright", "Copyright (C) 1995-2012 The Stella Team"
VALUE "OriginalFilename", "Stella.exe" VALUE "OriginalFilename", "Stella.exe"
VALUE "ProductName", "Stella" VALUE "ProductName", "Stella"
VALUE "ProductVersion", "3.7.3" VALUE "ProductVersion", "3.7.4"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"