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
|
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
|
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.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:
|
distributions currently available are:
|
||||||
|
|
||||||
* Binaries for Windows XP/Vista/7 :
|
* Binaries for Windows XP/Vista/7 :
|
||||||
Stella-3.7.2-win32.exe (32-bit EXE installer)
|
Stella-3.7.3-win32.exe (32-bit EXE installer)
|
||||||
Stella-3.7.2-x64.exe (64-bit EXE installer)
|
Stella-3.7.3-x64.exe (64-bit EXE installer)
|
||||||
Stella-3.7.2-windows.zip (32/64 bit versions)
|
Stella-3.7.3-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.2-macosx.dmg (32-bit Universal Binary)
|
Stella-3.7.3-macosx.dmg (32-bit Universal Binary)
|
||||||
Stella-3.7.2_intel-macosx.dmg (32/64-bit Intel/OSX 10.6+)
|
Stella-3.7.3_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.2-1_i386.deb
|
stella_3.7.3-1_i386.deb
|
||||||
stella_3.7.2-1_amd64.deb
|
stella_3.7.3-1_amd64.deb
|
||||||
|
|
||||||
* Binary distribution in 32-bit & 64-bit RPM format :
|
* Binary distribution in 32-bit & 64-bit RPM format :
|
||||||
stella-3.7.2-2.i386.rpm
|
stella-3.7.3-2.i386.rpm
|
||||||
stella-3.7.2-2.x86_64.rpm
|
stella-3.7.3-2.x86_64.rpm
|
||||||
|
|
||||||
* Source code distribution for all platforms :
|
* Source code distribution for all platforms :
|
||||||
stella-3.7.2-src.tar.gz
|
stella-3.7.3-src.tar.gz
|
||||||
|
|
||||||
|
|
||||||
Distribution Site
|
Distribution Site
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
Release History
|
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
|
* Note: because of TIA/RIOT changes, the state file format has changed
|
||||||
again, and old state files will not work with this release.
|
again, and old state files will not work with this release.
|
||||||
|
@ -21,6 +21,10 @@
|
||||||
'short' frames that caused massive flickering. Also improved
|
'short' frames that caused massive flickering. Also improved
|
||||||
related behaviour when VSYNC isn't used at all.
|
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
|
* Improved emulation of RIOT chip, in particular the behaviour of
|
||||||
reading from TIMINT. Also, D6 of the Interrupt Flag register is now
|
reading from TIMINT. Also, D6 of the Interrupt Flag register is now
|
||||||
properly set on active transition of the PA7 pin.
|
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
|
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
|
||||||
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
|
stella (3.7.2-1) stable; urgency=high
|
||||||
|
|
||||||
* Version 3.7.2 release
|
* Version 3.7.2 release
|
||||||
|
|
|
@ -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.2</b></h4></center>
|
<center><h4><b>Release 3.7.3</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>
|
||||||
|
|
|
@ -612,11 +612,41 @@ inline void TIA::endFrame()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This stuff should only happen at the end of a frame
|
|
||||||
// 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 = 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
|
// Stats counters
|
||||||
myFrameCounter++;
|
myFrameCounter++;
|
||||||
if(myScanlineCountForLastFrame >= 287)
|
if(myScanlineCountForLastFrame >= 287)
|
||||||
|
@ -636,33 +666,6 @@ inline void TIA::endFrame()
|
||||||
if(offset > myStopDisplayOffset && offset < 228 * 320)
|
if(offset > myStopDisplayOffset && offset < 228 * 320)
|
||||||
myStopDisplayOffset = offset;
|
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>
|
<key>CFBundleSignature</key>
|
||||||
<string>StLa</string>
|
<string>StLa</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>3.7.2</string>
|
<string>3.7.3</string>
|
||||||
<key>NSMainNibFile</key>
|
<key>NSMainNibFile</key>
|
||||||
<string>SDLMain.nib</string>
|
<string>SDLMain.nib</string>
|
||||||
<key>NSPrincipalClass</key>
|
<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 name stella
|
||||||
%define version 3.7.2
|
%define version 3.7.3
|
||||||
%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
|
||||||
|
* 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
|
* Sun Jun 10 2012 Stephen Anthony <stephena@users.sf.net> 3.7.2-1
|
||||||
- Version 3.7.2 release
|
- Version 3.7.2 release
|
||||||
|
|
||||||
|
|
|
@ -36,8 +36,8 @@ IDI_ICON ICON "stella.ico"
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 3,7,2,0
|
FILEVERSION 3,7,3,0
|
||||||
PRODUCTVERSION 3,7,2,0
|
PRODUCTVERSION 3,7,3,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.2"
|
VALUE "FileVersion", "3.7.3"
|
||||||
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.2"
|
VALUE "ProductVersion", "3.7.3"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
Loading…
Reference in New Issue