Playing around with the sound start/stop logic a little, since it seems

that the fix for ATI cards only works for the first ROM.  I may mark this
down as a driver bug and be done with it (at least until I can find some
hardware to test it myself).

Upped the GL aspect ratio setting to a maximum of 120, due to a request
for aspect ratios greater than 100.  Still have to bugfix it, though;
it might cause some problems with the video modes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1654 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2009-01-22 00:49:32 +00:00
parent 9575440922
commit 9d1020b79f
9 changed files with 28 additions and 26 deletions

View File

@ -611,7 +611,7 @@
<td>OpenGL mode only. Specify the amount (as a percentage) to scale the
image width. Since many video modes do not use square pixels, you can
reduce width until the pixels appear square. Allowable values are
80 - 100; I find 85 - 90 gives the most authentic look.</td>
80 - 120; I find 85 - 90 gives the most authentic look.</td>
</tr>
<tr>

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: FrameBufferGL.cxx,v 1.134 2009-01-19 16:52:32 stephena Exp $
// $Id: FrameBufferGL.cxx,v 1.135 2009-01-22 00:49:32 stephena Exp $
//============================================================================
#ifdef DISPLAY_OPENGL
@ -223,7 +223,7 @@ bool FrameBufferGL::setVidMode(VideoMode& mode)
{
// Aspect ratio
int aspect = myOSystem->settings().getInt("gl_aspect");
if(aspect < 100)
if(aspect != 100)
mode.image_w = (uInt16)(float(mode.image_w * aspect) / 100.0);
// Fullscreen mode stretching

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: SoundSDL.cxx,v 1.47 2009-01-20 16:41:15 stephena Exp $
// $Id: SoundSDL.cxx,v 1.48 2009-01-22 00:49:32 stephena Exp $
//============================================================================
#ifdef SOUND_SUPPORT
@ -68,7 +68,7 @@ void SoundSDL::setEnabled(bool state)
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void SoundSDL::initialize()
void SoundSDL::open()
{
// Check whether to start the sound subsystem
if(!myIsEnabled)

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: SoundSDL.hxx,v 1.22 2009-01-19 16:52:32 stephena Exp $
// $Id: SoundSDL.hxx,v 1.23 2009-01-22 00:49:32 stephena Exp $
//============================================================================
#ifndef SOUND_SDL_HXX
@ -33,7 +33,7 @@ class OSystem;
This class implements the sound API for SDL.
@author Stephen Anthony and Bradford W. Mott
@version $Id: SoundSDL.hxx,v 1.22 2009-01-19 16:52:32 stephena Exp $
@version $Id: SoundSDL.hxx,v 1.23 2009-01-22 00:49:32 stephena Exp $
*/
class SoundSDL : public Sound
{
@ -84,11 +84,11 @@ class SoundSDL : public Sound
Initializes the sound device. This must be called before any
calls are made to derived methods.
*/
void initialize();
void open();
/**
Should be called to close the sound device. Once called the sound
device can be started again using the initialize method.
device can be started again using the open method.
*/
void close();

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: Console.cxx,v 1.153 2009-01-21 12:03:16 stephena Exp $
// $Id: Console.cxx,v 1.154 2009-01-22 00:49:32 stephena Exp $
//============================================================================
#include <cassert>
@ -465,7 +465,7 @@ void Console::initializeAudio()
myOSystem->sound().close();
myOSystem->sound().setChannels(channels);
myOSystem->sound().setFrameRate(myFramerate);
myOSystem->sound().initialize();
myOSystem->sound().open();
// Make sure auto-frame calculation is only enabled when necessary
myTIA->enableAutoFrame(framerate <= 0);

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: OSystem.cxx,v 1.152 2009-01-21 15:32:15 stephena Exp $
// $Id: OSystem.cxx,v 1.153 2009-01-22 00:49:32 stephena Exp $
//============================================================================
#include <cassert>
@ -854,8 +854,10 @@ void OSystem::mainLoop()
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void OSystem::queryVideoHardware()
{
if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0)
return;
// Go ahead and open the video hardware; we're going to need it eventually
if(SDL_WasInit(SDL_INIT_VIDEO) == 0)
if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0)
return;
// First get the maximum windowed desktop resolution
const SDL_VideoInfo* info = SDL_GetVideoInfo();

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: Settings.cxx,v 1.161 2009-01-21 15:32:15 stephena Exp $
// $Id: Settings.cxx,v 1.162 2009-01-22 00:49:32 stephena Exp $
//============================================================================
#include <cassert>
@ -229,7 +229,7 @@ void Settings::validate()
setInternal("gl_filter", "nearest");
i = getInt("gl_aspect");
if(i < 80 || i > 100)
if(i < 80 || i > 120)
setInternal("gl_aspect", "100");
#endif

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: Sound.hxx,v 1.26 2009-01-01 18:13:37 stephena Exp $
// $Id: Sound.hxx,v 1.27 2009-01-22 00:49:32 stephena Exp $
//============================================================================
#ifndef SOUND_HXX
@ -30,7 +30,7 @@ class Deserializer;
It has no functionality whatsoever.
@author Stephen Anthony
@version $Id: Sound.hxx,v 1.26 2009-01-01 18:13:37 stephena Exp $
@version $Id: Sound.hxx,v 1.27 2009-01-22 00:49:32 stephena Exp $
*/
class Sound
{
@ -78,14 +78,14 @@ class Sound
virtual void setFrameRate(float framerate) = 0;
/**
Initializes the sound device. This must be called before any
calls are made to derived methods.
Start the sound system, initializing it if necessary. This must be
called before any calls are made to derived methods.
*/
virtual void initialize() = 0;
virtual void open() = 0;
/**
Should be called to close the sound device. Once called the sound
device can be started again using the initialize method.
Should be called to stop the sound system. Once called the sound
device can be started again using the ::open() method.
*/
virtual void close() = 0;
@ -134,7 +134,7 @@ class Sound
*/
virtual void adjustVolume(Int8 direction) = 0;
public:
public:
/**
Loads the current state of this device from the given Deserializer.

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: VideoDialog.cxx,v 1.64 2009-01-19 16:52:32 stephena Exp $
// $Id: VideoDialog.cxx,v 1.65 2009-01-22 00:49:32 stephena Exp $
//
// Based on code from ScummVM - Scumm Interpreter
// Copyright (C) 2002-2004 The ScummVM project
@ -126,7 +126,7 @@ VideoDialog::VideoDialog(OSystem* osystem, DialogContainer* parent,
myAspectRatioSlider =
new SliderWidget(this, font, xpos, ypos, pwidth, lineHeight,
"GL Aspect: ", lwidth, kAspectRatioChanged);
myAspectRatioSlider->setMinValue(80); myAspectRatioSlider->setMaxValue(100);
myAspectRatioSlider->setMinValue(80); myAspectRatioSlider->setMaxValue(120);
wid.push_back(myAspectRatioSlider);
myAspectRatioLabel =
new StaticTextWidget(this, font, xpos + myAspectRatioSlider->getWidth() + 4,