diff --git a/Announce.txt b/Announce.txt index aa8452d2f..665fbf912 100644 --- a/Announce.txt +++ b/Announce.txt @@ -9,7 +9,7 @@ SSSS ttt eeeee llll llll aaaaa =========================================================================== - Release 3.7.2 for Linux, MacOSX and Windows + Release 3.7.3 for Linux, MacOSX and Windows =========================================================================== 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 number of other platforms and is currently maintained by Stephen Anthony. -This is the 3.7.2 release of Stella for Linux, Mac OSX and Windows. The +This is the 3.7.3 release of Stella for Linux, Mac OSX and Windows. The distributions currently available are: * Binaries for Windows XP/Vista/7 : - Stella-3.7.2-win32.exe (32-bit EXE installer) - Stella-3.7.2-x64.exe (64-bit EXE installer) - Stella-3.7.2-windows.zip (32/64 bit versions) + Stella-3.7.3-win32.exe (32-bit EXE installer) + Stella-3.7.3-x64.exe (64-bit EXE installer) + Stella-3.7.3-windows.zip (32/64 bit versions) * Binary distribution for MacOS X 32-bit & 64-bit : - Stella-3.7.2-macosx.dmg (32-bit Universal Binary) - Stella-3.7.2_intel-macosx.dmg (32/64-bit Intel/OSX 10.6+) + Stella-3.7.3-macosx.dmg (32-bit Universal Binary) + Stella-3.7.3_intel-macosx.dmg (32/64-bit Intel/OSX 10.6+) * Binary distribution in 32-bit & 64-bit Ubuntu DEB format : - stella_3.7.2-1_i386.deb - stella_3.7.2-1_amd64.deb + stella_3.7.3-1_i386.deb + stella_3.7.3-1_amd64.deb * Binary distribution in 32-bit & 64-bit RPM format : - stella-3.7.2-2.i386.rpm - stella-3.7.2-2.x86_64.rpm + stella-3.7.3-2.i386.rpm + stella-3.7.3-2.x86_64.rpm * Source code distribution for all platforms : - stella-3.7.2-src.tar.gz + stella-3.7.3-src.tar.gz Distribution Site diff --git a/Changes.txt b/Changes.txt index deffbc34a..edb63ee0c 100644 --- a/Changes.txt +++ b/Changes.txt @@ -12,7 +12,7 @@ Release History =========================================================================== -3.7.2 to 3.7.3: (xxx xx, 2012) +3.7.2 to 3.7.3: (October 26, 2012) * Note: because of TIA/RIOT changes, the state file format has changed again, and old state files will not work with this release. @@ -21,6 +21,10 @@ 'short' frames that caused massive flickering. Also improved related behaviour when VSYNC isn't used at all. + * Improved sound generation with ROMs that have irregular scanline + counts. This fixes many demo ROMs as well as Quadrun, where + previously there would be 'gaps' in the sound output. + * Improved emulation of RIOT chip, in particular the behaviour of reading from TIMINT. Also, D6 of the Interrupt Flag register is now properly set on active transition of the PA7 pin. diff --git a/Readme.txt b/Readme.txt index 5fc026206..827cca590 100644 --- a/Readme.txt +++ b/Readme.txt @@ -1,4 +1,4 @@ -This is release 3.7.2 of Stella. Stella is a multi-platform Atari 2600 VCS +This is release 3.7.3 of Stella. Stella is a multi-platform Atari 2600 VCS 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. If you'd like to verify that you have the latest release of Stella visit @@ -9,4 +9,4 @@ the Stella Website at: Enjoy, The Stella Team -June 10, 2012 +October 26, 2012 diff --git a/debian/changelog b/debian/changelog index 17544ccda..e02affe1a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +stella (3.7.3-1) stable; urgency=high + + * Version 3.7.3 release + + -- Stephen Anthony Fri, 26 Oct 2012 18:38:25 +0200 + + stella (3.7.2-1) stable; urgency=high * Version 3.7.2 release diff --git a/docs/index.html b/docs/index.html index 6bd54177c..e8012bd98 100644 --- a/docs/index.html +++ b/docs/index.html @@ -10,7 +10,7 @@

A multi-platform Atari 2600 VCS emulator

-

Release 3.7.2

+

Release 3.7.3



User's Guide

diff --git a/src/emucore/TIA.cxx b/src/emucore/TIA.cxx index d90c1bba5..02c4f8fe6 100644 --- a/src/emucore/TIA.cxx +++ b/src/emucore/TIA.cxx @@ -612,11 +612,41 @@ inline void TIA::endFrame() return; } - // This stuff should only happen at the end of a frame // Compute the number of scanlines in the frame uInt32 previousCount = myScanlineCountForLastFrame; myScanlineCountForLastFrame = scanlines(); + // The following handle cases where scanlines either go too high or too + // low compared to the previous frame, in which case certain portions + // of the framebuffer are cleared to zero (black pixels) + // Due to the FrameBuffer class (potentially) doing dirty-rectangle + // updates, each internal buffer must be set slightly differently, + // otherwise they won't know anything has changed + // Hence, the front buffer is set to pixel 0, and the back to pixel 1 + + // Did we generate too many scanlines? + // (usually caused by VBLANK/VSYNC taking too long or not occurring at all) + // If so, blank entire viewable area + if(myScanlineCountForLastFrame > 342) + { + myScanlineCountForLastFrame = 342; + if(previousCount <= 342) + { + memset(myCurrentFrameBuffer, 0, 160 * 320); + memset(myPreviousFrameBuffer, 1, 160 * 320); + } + } + // Did the number of scanlines decrease? + // If so, blank scanlines that weren't rendered this frame + else if(myScanlineCountForLastFrame < previousCount && + myScanlineCountForLastFrame < 320 && previousCount < 320) + { + uInt32 offset = myScanlineCountForLastFrame * 160, + stride = (previousCount - myScanlineCountForLastFrame) * 160; + memset(myCurrentFrameBuffer + offset, 0, stride); + memset(myPreviousFrameBuffer + offset, 1, stride); + } + // Stats counters myFrameCounter++; if(myScanlineCountForLastFrame >= 287) @@ -636,33 +666,6 @@ inline void TIA::endFrame() if(offset > myStopDisplayOffset && offset < 228 * 320) myStopDisplayOffset = offset; } - - // The following handle cases where scanlines either go too high or too - // low compared to the previous frame, in which case certain portions - // of the framebuffer are cleared to zero (black pixels) - // Due to the FrameBuffer class (potentially) doing dirty-rectangle - // updates, each internal buffer must be set slightly differently, - // otherwise they won't know anything has changed - // Hence, the front buffer is set to pixel 0, and the back to pixel 1 - - // Did we generate too many scanlines? - // (usually caused by VBLANK taking too long) - // If so, blank entire viewable area - if(myScanlineCountForLastFrame > 342 && previousCount <= 342) - { - memset(myCurrentFrameBuffer, 0, 160 * 320); - memset(myPreviousFrameBuffer, 1, 160 * 320); - } - // Did the number of scanlines decrease? - // If so, blank scanlines that weren't rendered this frame - else if(myScanlineCountForLastFrame < previousCount && - myScanlineCountForLastFrame < 320 && previousCount < 320) - { - uInt32 offset = myScanlineCountForLastFrame * 160, - stride = (previousCount - myScanlineCountForLastFrame) * 160; - memset(myCurrentFrameBuffer + offset, 0, stride); - memset(myPreviousFrameBuffer + offset, 1, stride); - } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/macosx/Info-Stella.plist b/src/macosx/Info-Stella.plist index 6f4cc7b5d..e94b036d0 100644 --- a/src/macosx/Info-Stella.plist +++ b/src/macosx/Info-Stella.plist @@ -53,7 +53,7 @@ CFBundleSignature StLa CFBundleVersion - 3.7.2 + 3.7.3 NSMainNibFile SDLMain.nib NSPrincipalClass diff --git a/src/unix/stella.SlackBuild b/src/unix/stella.SlackBuild deleted file mode 100644 index 9ab31fab6..000000000 --- a/src/unix/stella.SlackBuild +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh - -# $Id: stella.SlackBuild,v 1.14 2009-05-01 11:25:07 stephena Exp $ - -# stella.SlackBuild for Stella 3.x, B. Watson, 2005 - -# Comment out following line to build without OpenGL support -BUILD_GL=1 - -die() { - echo "Fatal error: $*" - echo "(Look for error messages above)" - exit 1 -} - -VERSION=3.7.2 -ARCH=${ARCH-i486} -BUILD=1 - -TMP=${TMP-/tmp} -PKG=/tmp/package-stella -CWD=`pwd` - -rm -rf $PKG $TMP/stella-$VERSION -mkdir -p $PKG - -cd $TMP -tar xvfz $CWD/stella-$VERSION-src.tar.gz -cd stella-$VERSION || die "You must run this script in the same directory as the stella-$VERSION-src.tar.gz archive" - -if [ "$BUILD_GL" = "" ]; then - NOGL="--disable-gl" - NAME="stella_nogl" -else - NOGL="" - NAME="stella_gl" -fi - -./configure --prefix=/usr $NOGL || die "configure failed" -make || die "make failed" -make install DESTDIR=$PKG DOCDIR=/usr/doc/stella-$VERSION || die "make install failed" - -cd $PKG -mkdir -p install -cat <install/slack-desc -stella: Stella is a multi-platform Atari 2600 VCS emulator released under the -stella: GNU General Public License (GPL). -stella: -stella: Version 2.0 includes many new features, such as "frying", cheat code -stella: support, and an integrated debugger for VCS game developers (with DASM -stella: symbol file support). -stella: -stella: Homepage: http://stella.sourceforge.net/ -stella: Author: Bradford W. Mott, Stephen Anthony and the Stella Team -stella: -stella: -EOF - -strip usr/bin/stella -chown -R root.bin usr/bin - -makepkg -l y -c n $TMP/$NAME-$VERSION-$ARCH-$BUILD.tgz - diff --git a/src/unix/stella.spec b/src/unix/stella.spec index ea3eb9557..90196e621 100644 --- a/src/unix/stella.spec +++ b/src/unix/stella.spec @@ -1,5 +1,5 @@ %define name stella -%define version 3.7.2 +%define version 3.7.3 %define rel 1 %define enable_gl 1 @@ -108,6 +108,9 @@ rm -rf $RPM_BUILD_DIR/%{name}-%{version} %_datadir/icons/large/%{name}.png %changelog +* Fri Oct 26 2012 Stephen Anthony 3.7.3-1 +- Version 3.7.3 release + * Sun Jun 10 2012 Stephen Anthony 3.7.2-1 - Version 3.7.2 release diff --git a/src/win32/stella.rc b/src/win32/stella.rc index b5ca4c7f4..b10660e2e 100755 --- a/src/win32/stella.rc +++ b/src/win32/stella.rc @@ -36,8 +36,8 @@ IDI_ICON ICON "stella.ico" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,7,2,0 - PRODUCTVERSION 3,7,2,0 + FILEVERSION 3,7,3,0 + PRODUCTVERSION 3,7,3,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -55,12 +55,12 @@ BEGIN VALUE "Comments", "The multi-platform Atari 2600 emulator. Stella is released under the GPLv2." VALUE "CompanyName", "The Stella Team (http://stella.sourceforge.net)" VALUE "FileDescription", "Stella" - VALUE "FileVersion", "3.7.2" + VALUE "FileVersion", "3.7.3" VALUE "InternalName", "Stella" VALUE "LegalCopyright", "Copyright (C) 1995-2012 The Stella Team" VALUE "OriginalFilename", "Stella.exe" VALUE "ProductName", "Stella" - VALUE "ProductVersion", "3.7.2" + VALUE "ProductVersion", "3.7.3" END END BLOCK "VarFileInfo"