mirror of https://github.com/stella-emu/stella.git
- Added 'Ctrl ]' and 'Ctrl [' keys to dynamically increase/decrease volume.
- Added 'Ctrl 0', 'Ctrl 1', 'Ctrl 2', 'Ctrl 3' keys to dynamically set which paddle the mouse should emulate. - Updated the user manual with above options. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@350 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
219687f521
commit
6508718b39
|
@ -209,40 +209,33 @@
|
|||
software. Stella is written in C++, which allows it to be ported to other
|
||||
operating systems and architectures. Since its original release Stella has
|
||||
been ported to AcornOS, AmigaOS, DOS, FreeBSD, Linux, MacOS, OpenStep, OS/2,
|
||||
Sega Dreamcast, Unix, and Windows.
|
||||
Sega Dreamcast, Unix, and Windows.
|
||||
</p>
|
||||
|
||||
<h2><b>New in Release 1.4.1</b></h2>
|
||||
<h2><b>New in Release 1.4.2</b></h2>
|
||||
|
||||
<ul>
|
||||
<li>Fixed PAL sound issues. PAL games now should sound correct (no distortion
|
||||
or missing sounds), but some games may still run too fast. This is still
|
||||
a work-in-progress, and will be fixed in Stella 1.5.</li>
|
||||
<li>Updated the sound system. All popping and cracking sounds that previously
|
||||
occurred at program start/stop and when entering/exiting menu or pause mode
|
||||
have been eliminated.</li>
|
||||
|
||||
<li>Cleaned up the SDL event gathering loop. This should hopefully fix the
|
||||
problems with "double-pumping events" reported by some Windows users.
|
||||
Event gathering and dispatching is now much faster as well.</li>
|
||||
<li>Added <b>Control [</b> and <b>Control ]</b> keys to dynamically adjust the
|
||||
sound volume during emulation.</li>
|
||||
|
||||
<li>Fixed a bug where the Control or Alt keys could be assigned to some event,
|
||||
but they could never be used. Control/Alt can now be used for any event.</li>
|
||||
<li>Added <b>Control 0</b>, <b>Control 1</b>, <b>Control 2</b>, <b>Control 3</b>
|
||||
keys to dynamically change which paddle the mouse should emulate.</li>
|
||||
|
||||
<li>Updated stella.pro file to work with the latest Good2600 ROMset release
|
||||
(Thanks go to Voch for helping to maintain the stella.pro file).</li>
|
||||
<li>Added <b>-video_driver</b> argument. This accepts the different options
|
||||
that can be specified for SDL_VIDEODRIVER (see SDL homepage for more
|
||||
information). Basically, it eliminates the need to set the SDL_VIDEODRIVER
|
||||
environment variable.</li>
|
||||
|
||||
<li>For the Windows port; removed requirement for ROM files to be named *.bin
|
||||
in the StellaX frontend. The ROM's can now have any name, but ZIP-files are
|
||||
not yet supported.</li>
|
||||
<li>For the Windows port; added <i>windib</i> and <i>directx</i> as options for
|
||||
'video_driver' when using software rendering. The 'windib' option is now
|
||||
the default, and in many cases it's up to 10 times faster than using
|
||||
'directx'.</li>
|
||||
|
||||
<li>For the Windows port; fixed the problems with the included modified SDL
|
||||
library and Windows 98 users. Stella should now run in Windows 98.</li>
|
||||
|
||||
<li>For the OSX port; added preference to allow user to select the directory
|
||||
in which ROM images are stored. This sets the default directory to start
|
||||
the browsing for a ROM in, and doesn't preclude the user from selecting a
|
||||
file outside that directory.</li>
|
||||
|
||||
<li>For the OSX port; fixed preferences bug where Preferences changed before
|
||||
a game was opened were not being saved.</li>
|
||||
<li>For the OSX port; blah ...</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
@ -328,8 +321,9 @@
|
|||
<p>The Mac version of Stella is designed to work on a Power Macintosh with
|
||||
the following:</p>
|
||||
<ul>
|
||||
<li>Mac OSX 10.1 or Above </li>
|
||||
<li>500 MHz G3 PPC processor or Above </li>
|
||||
<li>Mac OSX 10.1 or Above</li>
|
||||
<li>500 MHz G4 PPC processor or above (Stella <b>may</b> work with a G3
|
||||
processor, but this is still a work-in-progress)</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
@ -1491,6 +1485,35 @@
|
|||
<td>Control + s</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Increase volume</td>
|
||||
<td>Control + ]</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Decrease volume</td>
|
||||
<td>Control + [</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Set mouse to emulate paddle 0</td>
|
||||
<td>Control + 0</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Set mouse to emulate paddle 1</td>
|
||||
<td>Control + 1</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Set mouse to emulate paddle 2</td>
|
||||
<td>Control + 2</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Set mouse to emulate paddle 3</td>
|
||||
<td>Control + 3</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br><br><br>
|
||||
|
|
|
@ -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.7 2005-01-03 19:16:09 stephena Exp $
|
||||
// $Id: FrameBufferGL.cxx,v 1.8 2005-01-04 02:29:28 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include <SDL.h>
|
||||
|
@ -319,7 +319,7 @@ void FrameBufferGL::drawBoundedBox(uInt32 x, uInt32 y, uInt32 w, uInt32 h)
|
|||
glRecti(x, y, x+w, y+h);
|
||||
|
||||
// Now draw the outer edges
|
||||
glLineWidth(theZoomLevel/2);
|
||||
glLineWidth(theZoomLevel);
|
||||
glColor4f(0.8, 0.8, 0.8, 1.0);
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2i(x, y ); // Top Left
|
||||
|
|
|
@ -13,17 +13,20 @@
|
|||
// 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.6 2004-07-22 01:54:08 stephena Exp $
|
||||
// $Id: SoundSDL.cxx,v 1.7 2005-01-04 02:29:29 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include <sstream>
|
||||
#include <cassert>
|
||||
#include <cmath>
|
||||
#include <SDL.h>
|
||||
|
||||
#include "TIASound.h"
|
||||
#include "Console.hxx"
|
||||
#include "FrameBuffer.hxx"
|
||||
#include "Serializer.hxx"
|
||||
#include "Deserializer.hxx"
|
||||
#include "Settings.hxx"
|
||||
#include "System.hxx"
|
||||
#include "SoundSDL.hxx"
|
||||
|
||||
|
@ -155,6 +158,33 @@ void SoundSDL::setVolume(Int32 percent)
|
|||
}
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void SoundSDL::adjustVolume(Int8 direction)
|
||||
{
|
||||
ostringstream strval;
|
||||
string message;
|
||||
|
||||
Int32 percent = myVolume;
|
||||
|
||||
if(direction == -1)
|
||||
percent -= 2;
|
||||
else if(direction == 1)
|
||||
percent += 2;
|
||||
|
||||
if((percent < 0) || (percent > 100))
|
||||
return;
|
||||
|
||||
setVolume(percent);
|
||||
|
||||
// Now show an onscreen message
|
||||
strval << percent;
|
||||
message = "Volume set to ";
|
||||
message += strval.str();
|
||||
|
||||
myConsole->frameBuffer().showMessage(message);
|
||||
myConsole->settings().setInt("volume", percent);
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void SoundSDL::set(uInt16 addr, uInt8 value, Int32 cycle)
|
||||
{
|
||||
|
|
|
@ -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.5 2004-06-20 00:52:37 stephena Exp $
|
||||
// $Id: SoundSDL.hxx,v 1.6 2005-01-04 02:29:29 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef SOUNDSDL_HXX
|
||||
|
@ -29,7 +29,7 @@
|
|||
This class implements the sound API for SDL.
|
||||
|
||||
@author Stephen Anthony and Bradford W. Mott
|
||||
@version $Id: SoundSDL.hxx,v 1.5 2004-06-20 00:52:37 stephena Exp $
|
||||
@version $Id: SoundSDL.hxx,v 1.6 2005-01-04 02:29:29 stephena Exp $
|
||||
*/
|
||||
class SoundSDL : public Sound
|
||||
{
|
||||
|
@ -83,6 +83,14 @@ class SoundSDL : public Sound
|
|||
*/
|
||||
virtual void setVolume(Int32 percent);
|
||||
|
||||
/**
|
||||
Adjusts the volume of the sound device based on the given direction.
|
||||
|
||||
@param direction Increase or decrease the current volume by a predefined
|
||||
amount based on the direction (1 = increase, -1 =decrease)
|
||||
*/
|
||||
virtual void adjustVolume(Int8 direction);
|
||||
|
||||
public:
|
||||
/**
|
||||
Loads the current state of this device from the given Deserializer.
|
||||
|
|
|
@ -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: mainSDL.cxx,v 1.18 2005-01-03 19:16:09 stephena Exp $
|
||||
// $Id: mainSDL.cxx,v 1.19 2005-01-04 02:29:29 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include <fstream>
|
||||
|
@ -64,6 +64,7 @@ static void HandleEvents();
|
|||
static uInt32 GetTicks();
|
||||
static void SetupProperties(PropertiesSet& set);
|
||||
static void ShowInfo(const string& msg);
|
||||
static void SetPaddleMode(Int32 mode);
|
||||
|
||||
#ifdef JOYSTICK_SUPPORT
|
||||
// Lookup table for joystick numbers and events
|
||||
|
@ -266,6 +267,21 @@ static KeyList keyList[] = {
|
|||
};
|
||||
|
||||
|
||||
/**
|
||||
Set the mouse to emulate the given paddle
|
||||
*/
|
||||
void SetPaddleMode(Int32 mode)
|
||||
{
|
||||
thePaddleMode = mode;
|
||||
|
||||
ostringstream buf;
|
||||
buf << "Mouse is paddle " << mode;
|
||||
theDisplay->showMessage(buf.str());
|
||||
|
||||
theSettings->setInt("paddle",thePaddleMode);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Prints given message based on 'theShowInfoFlag'
|
||||
*/
|
||||
|
@ -412,6 +428,15 @@ void HandleEvents()
|
|||
case SDLK_RETURN:
|
||||
theDisplay->toggleFullscreen();
|
||||
break;
|
||||
|
||||
case SDLK_LEFTBRACKET:
|
||||
theSound->adjustVolume(-1);
|
||||
break;
|
||||
|
||||
case SDLK_RIGHTBRACKET:
|
||||
theSound->adjustVolume(1);
|
||||
break;
|
||||
|
||||
#ifdef DISPLAY_OPENGL
|
||||
case SDLK_f:
|
||||
if(theUseOpenGLFlag)
|
||||
|
@ -475,6 +500,22 @@ void HandleEvents()
|
|||
theDisplay->setupPalette();
|
||||
break;
|
||||
|
||||
case SDLK_0: // Ctrl-0 sets the mouse to paddle 0
|
||||
SetPaddleMode(0);
|
||||
break;
|
||||
|
||||
case SDLK_1: // Ctrl-1 sets the mouse to paddle 1
|
||||
SetPaddleMode(1);
|
||||
break;
|
||||
|
||||
case SDLK_2: // Ctrl-2 sets the mouse to paddle 2
|
||||
SetPaddleMode(2);
|
||||
break;
|
||||
|
||||
case SDLK_3: // Ctrl-3 sets the mouse to paddle 3
|
||||
SetPaddleMode(3);
|
||||
break;
|
||||
|
||||
#ifdef DEVELOPER_SUPPORT
|
||||
case SDLK_END: // Ctrl-End increases Width
|
||||
theConsole->changeWidth(1);
|
||||
|
|
|
@ -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.cxx,v 1.13 2004-07-22 01:54:08 stephena Exp $
|
||||
// $Id: Sound.cxx,v 1.14 2005-01-04 02:29:30 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include "Serializer.hxx"
|
||||
|
@ -76,6 +76,11 @@ void Sound::setVolume(Int32 volume)
|
|||
{
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void Sound::adjustVolume(Int8 direction)
|
||||
{
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
bool Sound::load(Deserializer& in)
|
||||
{
|
||||
|
|
|
@ -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.12 2004-07-22 01:54:08 stephena Exp $
|
||||
// $Id: Sound.hxx,v 1.13 2005-01-04 02:29:31 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef SOUND_HXX
|
||||
|
@ -33,7 +33,7 @@ class System;
|
|||
to compile Stella with no sound support whatsoever.
|
||||
|
||||
@author Stephen Anthony and Bradford W. Mott
|
||||
@version $Id: Sound.hxx,v 1.12 2004-07-22 01:54:08 stephena Exp $
|
||||
@version $Id: Sound.hxx,v 1.13 2005-01-04 02:29:31 stephena Exp $
|
||||
*/
|
||||
class Sound
|
||||
{
|
||||
|
@ -107,6 +107,14 @@ class Sound
|
|||
*/
|
||||
virtual void setVolume(Int32 percent);
|
||||
|
||||
/**
|
||||
Adjusts the volume of the sound device based on the given direction.
|
||||
|
||||
@param direction Increase or decrease the current volume by a predefined
|
||||
amount based on the direction (1 = increase, -1 =decrease)
|
||||
*/
|
||||
virtual void adjustVolume(Int8 direction);
|
||||
|
||||
public:
|
||||
/**
|
||||
Loads the current state of this device from the given Deserializer.
|
||||
|
|
Loading…
Reference in New Issue