Added 'video_driver' support to the StellaX frontend. Windib is now the

default video driver, and it's up to 10 times faster in software mode
than directx.

Updated the manual with the new 'video_driver' argument.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@346 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2004-09-14 19:10:29 +00:00
parent 03d8c0eab5
commit a22ad3fd2c
7 changed files with 76 additions and 40 deletions

View File

@ -10,7 +10,7 @@
<br><br>
<center><h2><b>A multi-platform Atari 2600 VCS emulator</b></h2></center>
<center><h4><b>Release 1.4.1</b></h4></center>
<center><h4><b>Release 1.4.2</b></h4></center>
<br><br>
<center><h2><b>User's Guide</b></h2></center>
@ -33,7 +33,7 @@
<br><br><br>
<center><b>February 1999 - August 2004</b></center>
<center><b>February 1999 - September 2004</b></center>
<center><b>The Stella Team</b></center>
<center><b><a href="http://stella.sourceforge.net">Stella Homepage</a></b></center>
@ -319,13 +319,13 @@
the Stella source code; GNU C++ compiler version 3.2.x or later is highly
recommended</li>
<li>Pentium class machine required (Stella <b>may</b> compile on other
architectures, but it hasn't been tested)</li>
architectures, but it hasn't been extensively tested)</li>
</ul>
<p>
<h2><b>Macintosh</b></h2>
<p>The MacLinux version of Stella is designed to work on a Power Macintosh with
<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>
@ -344,6 +344,8 @@
executable</li>
<li>Pentium class machine required; OpenGL accelerated video card highly
recommended</li>
<li>SDL version 1.2.8 or greater (or included SDL.dll) required for
Stelladaptor support</li>
</ul>
<br><br>
@ -533,7 +535,13 @@
<tr>
<td><pre>-video &lt;soft|gl&gt;</pre></td>
<td>Use SDL software or OpenGL mode.</td>
<td>Use SDL software or OpenGL rendering mode.</td>
</tr>
<tr>
<td><pre>-video_driver &lt;x11|windib|directx&gt;</pre></td>
<td>Use the specified video driver. Windows works best with 'windib',
'x11' is used for Linux/Unix.</td>
</tr>
<tr>
@ -1497,6 +1505,7 @@
<p>To remap an event:
<ol>
<li>Start playing a game (ie, start the emulation).</li>
<li>Enter menu mode be pressing <b>Tab</b>.</li>
<li>Press Cursor Up/Down to move up/down one line at a time,
or PageUp/PageDown to move up/down 5 lines at a time. The arrows on
@ -1531,7 +1540,7 @@
<p>
<h2><b>Macintosh</b></h2>
<p>The Mac version of Stella looks for the property file&nbsp; in the
<p>The Mac version of Stella looks for the property file in the
directory containing the application.</p>
<p>

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: SettingsWin32.cxx,v 1.11 2004-08-18 21:20:55 stephena Exp $
// $Id: SettingsWin32.cxx,v 1.12 2004-09-14 19:10:28 stephena Exp $
//============================================================================
#include <sstream>
@ -64,6 +64,7 @@ SettingsWin32::SettingsWin32()
myPropertiesInputFile = "";
// Now create Win32 specific settings
set("video_driver", "windib"); // This seems to be much faster than DirectX
set("romdir", "roms");
set("accurate", "false"); // Don't change this, or the sound will skip
set("fragsize", "2048"); // Anything less than this usually causes sound skipping

View File

@ -14,7 +14,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ConfigPage.cxx,v 1.5 2004-07-15 03:03:27 stephena Exp $
// $Id: ConfigPage.cxx,v 1.6 2004-09-14 19:10:29 stephena Exp $
//============================================================================
#include "pch.hxx"
@ -74,7 +74,7 @@ BOOL CConfigPage::OnInitDialog( HWND hwnd )
}
SendMessage( hwndCtrl, CB_SETCURSEL, myGlobalData.settings().getInt("paddle"), 0 );
// Get video
// Get video renderer
int videomode = 0;
hwndCtrl = GetDlgItem( hwnd, IDC_VIDEO );
SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"Software" );
@ -85,6 +85,17 @@ BOOL CConfigPage::OnInitDialog( HWND hwnd )
videomode = 1;
SendMessage( hwndCtrl, CB_SETCURSEL, videomode, 0 );
// Get video driver
int videodriver = 0;
hwndCtrl = GetDlgItem( hwnd, IDC_VIDEO_DRIVER );
SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"WinDIB" );
SendMessage( hwndCtrl, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)"DirectX" );
if(myGlobalData.settings().getString("video_driver") == "windib")
videodriver = 0;
else if(myGlobalData.settings().getString("video_driver") == "directx")
videodriver = 1;
SendMessage( hwndCtrl, CB_SETCURSEL, videodriver, 0 );
// Get gl_aspect
hwndCtrl = GetDlgItem( hwnd, IDC_GL_ASPECT );
SendMessage( hwndCtrl, EM_LIMITTEXT, MAX_PATH, 0 );
@ -179,7 +190,7 @@ LONG CConfigPage::OnApply( LPPSHNOTIFY lppsn )
myGlobalData.settings().setInt( "paddle",
SendMessage( hwndCtrl, CB_GETCURSEL, 0, 0 ) );
// Set video
// Set video renderer
hwndCtrl = GetDlgItem( m_hwnd, IDC_VIDEO );
ASSERT( hwndCtrl );
i = ::SendMessage( hwndCtrl, CB_GETCURSEL, 0, 0 );
@ -191,6 +202,18 @@ LONG CConfigPage::OnApply( LPPSHNOTIFY lppsn )
str = "soft";
myGlobalData.settings().setString( "video", str );
// Set video driver
hwndCtrl = GetDlgItem( m_hwnd, IDC_VIDEO_DRIVER );
ASSERT( hwndCtrl );
i = ::SendMessage( hwndCtrl, CB_GETCURSEL, 0, 0 );
if( i == 0 )
str = "windib";
else if( i == 1 )
str = "directx";
else
str = "windib";
myGlobalData.settings().setString( "video_driver", str );
// Set gl_aspect
hwndCtrl = GetDlgItem( m_hwnd, IDC_GL_ASPECT );
ASSERT( hwndCtrl );

View File

@ -14,7 +14,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: MainDlg.cxx,v 1.9 2004-08-06 01:53:05 stephena Exp $
// $Id: MainDlg.cxx,v 1.10 2004-09-14 19:10:29 stephena Exp $
//============================================================================
#include "pch.hxx"
@ -616,12 +616,9 @@ bool MainDlg::LoadRomListFromDisk()
// We don't create the propsSet until we need it, since it's
// a time-consuming process
PropertiesSet propsSet;
string theUserProFile = myGlobalData.settings().userPropertiesFilename();
string theSystemProFile = myGlobalData.settings().systemPropertiesFilename();
if(theUserProFile != "")
propsSet.load(theUserProFile, true);
else if(theSystemProFile != "")
propsSet.load(theSystemProFile, true);
string theProperties = myGlobalData.settings().propertiesInputFilename();
if(theProperties != "")
propsSet.load(theProperties, true);
else
propsSet.load("", false);

Binary file not shown.

View File

@ -59,8 +59,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,4,0,0
PRODUCTVERSION 1,4,0,0
FILEVERSION 1,4,2,0
PRODUCTVERSION 1,4,2,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x29L
@ -78,14 +78,14 @@ BEGIN
VALUE "Comments", "This version of StellaX is released under the GPL."
VALUE "CompanyName", "Stephen Anthony (sa666_666@hotmail.com)"
VALUE "FileDescription", "StellaX"
VALUE "FileVersion", "1, 4, 0, 0"
VALUE "FileVersion", "1, 4, 2, 0"
VALUE "InternalName", "StellaX"
VALUE "LegalCopyright", "Copyright (C) 2000 Jeff Miller, Copyright (C) 2004 Stephen Anthony"
VALUE "LegalTrademarks", "n/a"
VALUE "OriginalFilename", "StellaX.exe"
VALUE "PrivateBuild", "n/a"
VALUE "ProductName", "StellaX"
VALUE "ProductVersion", "1, 4, 0, 0"
VALUE "ProductVersion", "1, 4, 2, 0"
VALUE "SpecialBuild", "n/a"
END
END
@ -125,7 +125,7 @@ BEGIN
RTEXT "<status>",IDC_ROMCOUNT,322,45,80,8,SS_NOPREFIX
CONTROL "",-1,"Static",SS_ETCHEDHORZ,0,39,411,1
CONTROL "",-1,"Static",SS_ETCHEDHORZ,0,218,411,1
CONTROL "StellaX v1.4.1",IDC_TITLE,"Button",BS_OWNERDRAW |
CONTROL "StellaX v1.4.2",IDC_TITLE,"Button",BS_OWNERDRAW |
BS_CENTER | BS_TOP | WS_DISABLED | WS_TABSTOP,7,7,145,22
CONTROL "Static",IDC_ROMPATH,"Static",SS_LEFTNOWORDWRAP |
SS_NOPREFIX | WS_GROUP,57,45,254,8
@ -158,44 +158,47 @@ BEGIN
CONTROL "",-1,"Static",SS_ETCHEDHORZ,7,37,284,1
END
IDD_CONFIG_PAGE DIALOGEX 0, 0, 269, 158
IDD_CONFIG_PAGE DIALOGEX 0, 0, 267, 174
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Options"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
GROUPBOX "File Locations",-1,7,7,254,39
LTEXT "ROM Directory:",-1,14,25,55,8
GROUPBOX "File Locations",IDC_STATIC,7,7,254,39
LTEXT "ROM Directory:",IDC_STATIC,14,25,55,8
EDITTEXT IDC_ROMPATH,67,23,171,13,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_BROWSE,241,23,13,12
GROUPBOX "Snapshot Settings",-1,7,49,148,43
LTEXT "Save Snapshot as:",-1,14,61,67,10
GROUPBOX "Snapshot Settings",IDC_STATIC,7,49,148,43
LTEXT "Save Snapshot as:",IDC_STATIC,14,61,67,10
COMBOBOX IDC_SNAPSHOT_TYPE,86,60,60,37,CBS_DROPDOWNLIST |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
CONTROL "Generate multiple snapshots",IDC_SNAPSHOT_MULTIPLE,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,27,75,109,11
GROUPBOX "Paddle Emulation",-1,161,49,100,43
LTEXT "Mouse is paddle:",-1,167,61,65,8
GROUPBOX "Paddle Emulation",IDC_STATIC,161,49,100,43
LTEXT "Mouse is paddle:",IDC_STATIC,167,61,65,8
COMBOBOX IDC_PADDLE,225,60,30,82,CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP
GROUPBOX "Video Settings",-1,7,95,118,57
LTEXT "Driver:",-1,14,108,28,10
GROUPBOX "Video Settings",IDC_STATIC,7,97,118,71
LTEXT "Renderer:",IDC_STATIC,14,108,43,10
COMBOBOX IDC_VIDEO,62,106,52,35,CBS_DROPDOWNLIST | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
LTEXT "Aspect Ratio:",-1,14,122,50,10
EDITTEXT IDC_GL_ASPECT,62,120,51,12,ES_AUTOHSCROLL
LTEXT "Aspect Ratio:",IDC_STATIC,14,136,50,10
EDITTEXT IDC_GL_ASPECT,62,134,51,12,ES_AUTOHSCROLL
CONTROL "Maximize FS OpenGL",IDC_GL_FSMAX,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,25,135,86,12
GROUPBOX "Sound Settings",-1,132,95,96,57
LTEXT "Volume:",-1,140,108,28,8
BS_AUTOCHECKBOX | WS_TABSTOP,21,152,86,12
GROUPBOX "Sound Settings",IDC_STATIC,132,97,96,57
LTEXT "Volume:",IDC_STATIC,140,108,28,8
EDITTEXT IDC_SOUND_VOLUME,176,106,29,12,ES_AUTOHSCROLL
CONTROL "",IDC_SOUND_VOLUME_SPIN,"msctls_updown32",
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS,205,106,11,12
LTEXT "Frag Size:",-1,140,122,36,8
LTEXT "Frag Size:",IDC_STATIC,140,122,36,8
COMBOBOX IDC_SOUND_FRAGSIZE,176,120,41,51,CBS_DROPDOWNLIST |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
CONTROL "Disable &Sound",IDC_SOUND_ENABLE,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,147,135,62,10
LTEXT "Driver:",IDC_STATIC,15,122,46,9
COMBOBOX IDC_VIDEO_DRIVER,62,120,52,31,CBS_DROPDOWNLIST |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
END
@ -226,9 +229,9 @@ BEGIN
IDD_CONFIG_PAGE, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 262
RIGHTMARGIN, 260
TOPMARGIN, 7
BOTTOMMARGIN, 152
BOTTOMMARGIN, 168
END
END
#endif // APSTUDIO_INVOKED

View File

@ -61,7 +61,10 @@
#define IDC_SOUND_VOLUME_SPIN 1044
#define IDC_SOUND_FRAGSIZE 1045
#define IDC_TAB1 1046
#define IDC_VIDEO_DRIVER 1047
#define IDC_COMBO1 1047
#define ID_FILE_EXIT 32771
#define IDC_STATIC -1
// Next default values for new objects
//
@ -69,7 +72,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 296
#define _APS_NEXT_COMMAND_VALUE 32772
#define _APS_NEXT_CONTROL_VALUE 1047
#define _APS_NEXT_CONTROL_VALUE 1048
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif