mirror of https://github.com/stella-emu/stella.git
Fixed more sound issues wrt irregular scanline counts. Even
Quadrun sounds better now :) Preparing for the 3.7.3 release. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2562 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
029ea006f6
commit
940a0bf066
24
Announce.txt
24
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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
stella (3.7.3-1) stable; urgency=high
|
||||
|
||||
* Version 3.7.3 release
|
||||
|
||||
-- Stephen Anthony <stephena@users.sf.net> Fri, 26 Oct 2012 18:38:25 +0200
|
||||
|
||||
|
||||
stella (3.7.2-1) stable; urgency=high
|
||||
|
||||
* Version 3.7.2 release
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<br><br>
|
||||
<center><h2><b>A multi-platform Atari 2600 VCS emulator</b></h2></center>
|
||||
|
||||
<center><h4><b>Release 3.7.2</b></h4></center>
|
||||
<center><h4><b>Release 3.7.3</b></h4></center>
|
||||
<br><br>
|
||||
|
||||
<center><h2><b>User's Guide</b></h2></center>
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<key>CFBundleSignature</key>
|
||||
<string>StLa</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>3.7.2</string>
|
||||
<string>3.7.3</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>SDLMain.nib</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
|
|
@ -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 <<EOF >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
|
||||
|
|
@ -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 <stephena@users.sf.net> 3.7.3-1
|
||||
- Version 3.7.3 release
|
||||
|
||||
* Sun Jun 10 2012 Stephen Anthony <stephena@users.sf.net> 3.7.2-1
|
||||
- Version 3.7.2 release
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue