Updated source and build script version references in preparation for new release. Updated SDL web documentation. Removed a few deprecated command line arguments from code and help text. Removed last few references to GTK in Qt GUI.
This commit is contained in:
parent
e7ba648d3b
commit
fb965bbee0
2
README
2
README
|
@ -1,4 +1,4 @@
|
|||
FCEUX SDL 2.2.3 SDL README
|
||||
FCEUX SDL 2.3.0 SDL README
|
||||
==========================
|
||||
Originally By Lukas Sabota (sf: punkrockguy318)
|
||||
Updated By mjbudd77
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use strict;
|
||||
|
||||
my $VERSION="2.2.3";
|
||||
my $VERSION="2.3.0";
|
||||
my $INSTALL_PREFIX="/tmp/fceux";
|
||||
my $CTL_FILENAME="$INSTALL_PREFIX/DEBIAN/control";
|
||||
my $ARCH="amd64";
|
||||
|
|
|
@ -7,8 +7,8 @@ uname -a
|
|||
sw_vers
|
||||
|
||||
FCEUX_VERSION_MAJOR=2
|
||||
FCEUX_VERSION_MINOR=2
|
||||
FCEUX_VERSION_PATCH=3
|
||||
FCEUX_VERSION_MINOR=3
|
||||
FCEUX_VERSION_PATCH=0
|
||||
|
||||
SCRIPT_DIR=$( cd $(dirname $BASH_SOURCE[0]); pwd );
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ An open source NES Emulator for Windows and Unix that features solid emulation a
|
|||
Interim builds:
|
||||
* Win32: [fceux.zip](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux.zip?branch=master&job=Windows%2032)
|
||||
* Win64: [fceux64.zip](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux64.zip?branch=master&job=Windows%2064)
|
||||
* Ubuntu: [fceux-2.2.3-amd64.deb](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.2.3-amd64.deb?branch=master&job=Ubuntu)
|
||||
* MacOSX: [fceux-2.2.3-Darwin.dmg](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.2.3-Darwin.dmg?branch=master&job=MacOS)
|
||||
* Ubuntu: [fceux-2.3.0-amd64.deb](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.3.0-amd64.deb?branch=master&job=Ubuntu)
|
||||
* MacOSX: [fceux-2.3.0-Darwin.dmg](https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.3.0-Darwin.dmg?branch=master&job=MacOS)
|
||||
* Status: [Appveyor](https://ci.appveyor.com/project/zeromus/fceux/)
|
||||
|
||||
But you might like mesen more: https://github.com/SourMesen/Mesen
|
||||
|
|
|
@ -119,7 +119,7 @@ AboutWindow::AboutWindow(QWidget *parent)
|
|||
mainLayout->addLayout( hbox1 );
|
||||
|
||||
hbox1 = new QHBoxLayout();
|
||||
lbl = new QLabel( tr("© 2016 FceuX Development Team") );
|
||||
lbl = new QLabel( tr("© 2020 FceuX Development Team") );
|
||||
|
||||
hbox1->addWidget( lbl );
|
||||
hbox1->setAlignment( Qt::AlignCenter );
|
||||
|
|
|
@ -2071,7 +2071,6 @@ void QAsmView::updateAssemblyView(void)
|
|||
uint8 opcode[3];
|
||||
char asmTxt[256];
|
||||
dbg_asm_entry_t *a, *d;
|
||||
//GtkTextIter iter, next_iter;
|
||||
char pc_found = 0;
|
||||
|
||||
start_address_lp = starting_address = X.PC;
|
||||
|
@ -2112,12 +2111,6 @@ void QAsmView::updateAssemblyView(void)
|
|||
}
|
||||
//asmText->clear();
|
||||
|
||||
//gtk_text_buffer_get_start_iter( textbuf, &iter );
|
||||
|
||||
//textview_lines_allocated = gtk_text_buffer_get_line_count( textbuf ) - 1;
|
||||
|
||||
//printf("Num Lines: %i\n", textview_lines_allocated );
|
||||
|
||||
for (int i=0; i < 0xFFFF; i++)
|
||||
{
|
||||
line.clear();
|
||||
|
|
|
@ -206,7 +206,6 @@ InitConfig()
|
|||
config->addOption('y', "yres", "SDL.YResolution", 0);
|
||||
config->addOption("SDL.LastXRes", 0);
|
||||
config->addOption("SDL.LastYRes", 0);
|
||||
config->addOption('b', "bpp", "SDL.BitsPerPixel", 32);
|
||||
config->addOption("doublebuf", "SDL.DoubleBuffering", 1);
|
||||
config->addOption("autoscale", "SDL.AutoScale", 1);
|
||||
config->addOption("keepratio", "SDL.KeepRatio", 1);
|
||||
|
@ -243,9 +242,6 @@ InitConfig()
|
|||
|
||||
config->addOption("autoInputPreset", "SDL.AutoInputPreset", 0);
|
||||
|
||||
// allow for input configuration
|
||||
//config->addOption('i', "inputcfg", "SDL.InputCfg", InputCfg);
|
||||
|
||||
// display input
|
||||
config->addOption("inputdisplay", "SDL.InputDisplay", 0);
|
||||
|
||||
|
|
|
@ -387,7 +387,6 @@ static const char *DriverUsage =
|
|||
"Option Value Description\n"
|
||||
"--pal {0|1} Use PAL timing.\n"
|
||||
"--newppu {0|1} Enable the new PPU core. (WARNING: May break savestates)\n"
|
||||
"--inputcfg d Configures input device d on startup.\n"
|
||||
"--input(1,2) d Set which input device to emulate for input 1 or 2.\n"
|
||||
" Devices: gamepad zapper powerpad.0 powerpad.1\n"
|
||||
" arkanoid\n"
|
||||
|
@ -405,8 +404,6 @@ static const char *DriverUsage =
|
|||
"--(x/y)scale x Multiply width/height by x. \n"
|
||||
" (Real numbers >0 with OpenGL, otherwise integers >0).\n"
|
||||
"--(x/y)stretch {0|1} Stretch to fill surface on x/y axis (OpenGL only).\n"
|
||||
"--bpp {8|16|32} Set bits per pixel.\n"
|
||||
"--opengl {0|1} Enable OpenGL support.\n"
|
||||
"--fullscreen {0|1} Enable full screen mode.\n"
|
||||
"--noframe {0|1} Hide title bar and window decorations.\n"
|
||||
"--special {1-4} Use special video scaling filters\n"
|
||||
|
@ -435,7 +432,6 @@ static const char *DriverUsage =
|
|||
"--players x Set the number of local players in a network play\n"
|
||||
" session.\n"
|
||||
"--rp2mic {0|1} Replace Port 2 Start with microphone (Famicom).\n"
|
||||
"--nogui Don't load the GTK GUI\n"
|
||||
"--4buttonexit {0|1} exit the emulator when A+B+Select+Start is pressed\n"
|
||||
"--loadstate {0-9|>9} load from the given state when the game is loaded\n"
|
||||
"--savestate {0-9|>9} save to the given state when the game is closed\n"
|
||||
|
@ -548,16 +544,7 @@ int fceuWrapperInit( int argc, char *argv[] )
|
|||
g_config->save();
|
||||
}
|
||||
|
||||
|
||||
//g_config->getOption("SDL.InputCfg", &s);
|
||||
|
||||
//if (s.size() != 0)
|
||||
//{
|
||||
// InitVideo(GameInfo);
|
||||
// InputCfg(s);
|
||||
//}
|
||||
|
||||
// update the input devices
|
||||
// update the input devices
|
||||
UpdateInput(g_config);
|
||||
|
||||
// check for a .fcm file to convert to .fm2
|
||||
|
|
|
@ -469,58 +469,6 @@ std::string GetFilename (const char *title, bool save, const char *filter)
|
|||
fname = GetOpenFileName (&ofn);
|
||||
|
||||
#endif
|
||||
//#ifdef _GTK
|
||||
// int fullscreen = 0;
|
||||
// g_config->getOption ("SDL.Fullscreen", &fullscreen);
|
||||
// if (fullscreen)
|
||||
// ToggleFS ();
|
||||
//
|
||||
// GtkWidget *fileChooser;
|
||||
//
|
||||
// GtkFileFilter *filterX;
|
||||
// GtkFileFilter *filterAll;
|
||||
//
|
||||
// filterX = gtk_file_filter_new ();
|
||||
// gtk_file_filter_add_pattern (filterX, filter);
|
||||
// gtk_file_filter_set_name (filterX, filter);
|
||||
//
|
||||
//
|
||||
// filterAll = gtk_file_filter_new ();
|
||||
// gtk_file_filter_add_pattern (filterAll, "*");
|
||||
// gtk_file_filter_set_name (filterAll, "All Files");
|
||||
//
|
||||
// if (save)
|
||||
// fileChooser = gtk_file_chooser_dialog_new ("Save as", NULL,
|
||||
// GTK_FILE_CHOOSER_ACTION_SAVE,
|
||||
// "_Cancel",
|
||||
// GTK_RESPONSE_CANCEL,
|
||||
// "_Save",
|
||||
// GTK_RESPONSE_ACCEPT, NULL);
|
||||
// else
|
||||
// fileChooser = gtk_file_chooser_dialog_new ("Open", NULL,
|
||||
// GTK_FILE_CHOOSER_ACTION_OPEN,
|
||||
// "_Cancel",
|
||||
// GTK_RESPONSE_CANCEL,
|
||||
// "_Open",
|
||||
// GTK_RESPONSE_ACCEPT, NULL);
|
||||
//
|
||||
// // TODO: make file filters case insensitive
|
||||
// //gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fileChooser), filterX);
|
||||
// gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (fileChooser), filterAll);
|
||||
// int response = gtk_dialog_run (GTK_DIALOG (fileChooser));
|
||||
//
|
||||
// // flush gtk events
|
||||
// while (gtk_events_pending ())
|
||||
// gtk_main_iteration_do (TRUE);
|
||||
//
|
||||
// if (response == GTK_RESPONSE_ACCEPT)
|
||||
// fname = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (fileChooser));
|
||||
//
|
||||
// gtk_widget_destroy (fileChooser);
|
||||
//
|
||||
// while (gtk_events_pending ())
|
||||
// gtk_main_iteration_do (TRUE);
|
||||
//#endif
|
||||
FCEUI_ToggleEmulationPause ();
|
||||
return fname;
|
||||
}
|
||||
|
@ -530,71 +478,6 @@ std::string GetFilename (const char *title, bool save, const char *filter)
|
|||
*/
|
||||
std::string GetUserText (const char *title)
|
||||
{
|
||||
#ifdef _GTK
|
||||
/* prg318 - 10/13/11 - this is broken in recent build and causes
|
||||
* segfaults/very weird behavior i'd rather remove it for now than it cause
|
||||
* accidental segfaults
|
||||
* TODO fix it
|
||||
*/
|
||||
#if 0
|
||||
//
|
||||
// GtkWidget* d;
|
||||
// GtkWidget* entry;
|
||||
//
|
||||
// d = gtk_dialog_new_with_buttons(title, NULL, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK);
|
||||
//
|
||||
// entry = gtk_entry_new();
|
||||
//
|
||||
// GtkWidget* vbox = gtk_dialog_get_content_area(GTK_DIALOG(d));
|
||||
//
|
||||
// gtk_container_add(GTK_CONTAINER(vbox), entry);
|
||||
//
|
||||
// gtk_widget_show_all(d);
|
||||
//
|
||||
// gtk_dialog_run(GTK_DIALOG(d));
|
||||
//
|
||||
// // flush gtk events
|
||||
// while(gtk_events_pending())
|
||||
// gtk_main_iteration_do(TRUE);
|
||||
//
|
||||
// std::string input = gtk_entry_get_text(GTK_ENTRY(entry));
|
||||
//
|
||||
// if (FCEUI_EmulationPaused() == 0)
|
||||
// FCEUI_ToggleEmulationPause(); // pause emulation
|
||||
//
|
||||
// int fullscreen = 0;
|
||||
// g_config->getOption("SDL.Fullscreen", &fullscreen);
|
||||
// if(fullscreen)
|
||||
// ToggleFS(); // disable fullscreen emulation
|
||||
//
|
||||
// FILE *fpipe;
|
||||
// std::string command = "zenity --entry --title=\"";
|
||||
// command.append(title);
|
||||
// command.append("\" --text=\"");
|
||||
// command.append(title);
|
||||
// command.append(":\"");
|
||||
//
|
||||
// if (!(fpipe = (FILE*)popen(command.c_str(),"r"))) // If fpipe is NULL
|
||||
// FCEUD_PrintError("Pipe error on opening zenity");
|
||||
// int c;
|
||||
// std::string input;
|
||||
// while((c = fgetc(fpipe)))
|
||||
// {
|
||||
// if (c == EOF || c == '\n')
|
||||
// break;
|
||||
// input += c;
|
||||
// }
|
||||
// pclose(fpipe);
|
||||
// gtk_widget_destroy(d);
|
||||
//
|
||||
//
|
||||
// while(gtk_events_pending())
|
||||
// gtk_main_iteration_do(TRUE);
|
||||
//
|
||||
// FCEUI_ToggleEmulationPause(); // unpause emulation
|
||||
// return input;
|
||||
#endif // #if 0
|
||||
#endif
|
||||
return "";
|
||||
}
|
||||
|
||||
|
@ -926,9 +809,6 @@ static void KeyboardCommands (void)
|
|||
{
|
||||
if ( Hotkeys[HK_SELECT_STATE_0 + i].getRisingEdge() )
|
||||
{
|
||||
#ifdef _GTK
|
||||
setStateMenuItem(i);
|
||||
#endif
|
||||
FCEUI_SelectState (i, 1);
|
||||
}
|
||||
}
|
||||
|
@ -936,17 +816,11 @@ static void KeyboardCommands (void)
|
|||
if ( Hotkeys[HK_SELECT_STATE_NEXT].getRisingEdge() )
|
||||
{
|
||||
FCEUI_SelectStateNext (1);
|
||||
#ifdef _GTK
|
||||
setStateMenuItem( CurrentState );
|
||||
#endif
|
||||
}
|
||||
|
||||
if ( Hotkeys[HK_SELECT_STATE_PREV].getRisingEdge() )
|
||||
{
|
||||
FCEUI_SelectStateNext (-1);
|
||||
#ifdef _GTK
|
||||
setStateMenuItem( CurrentState );
|
||||
#endif
|
||||
}
|
||||
|
||||
if ( Hotkeys[HK_BIND_STATE].getRisingEdge() )
|
||||
|
|
|
@ -74,7 +74,6 @@ int DTestButtonJoy(ButtConfig *bc);
|
|||
void FCEUD_UpdateInput(void);
|
||||
|
||||
void UpdateInput(Config *config);
|
||||
//void InputCfg(const std::string &);
|
||||
|
||||
std::string GetUserText(const char* title);
|
||||
const char* ButtonName(const ButtConfig* bc);
|
||||
|
|
|
@ -58,9 +58,6 @@ static int s_srendline, s_erendline;
|
|||
static int s_tlines;
|
||||
static int s_inited = 0;
|
||||
|
||||
//#ifdef OPENGL
|
||||
//static int s_useOpenGL = 0;
|
||||
//#endif
|
||||
static double s_exs = 1.0, s_eys = 1.0;
|
||||
static int s_eefx = 0;
|
||||
static int s_clipSides = 0;
|
||||
|
@ -152,9 +149,6 @@ int InitVideo(FCEUGI *gi)
|
|||
// load the relevant configuration variables
|
||||
g_config->getOption("SDL.Fullscreen", &s_fullscreen);
|
||||
g_config->getOption("SDL.DoubleBuffering", &doublebuf);
|
||||
//#ifdef OPENGL
|
||||
// g_config->getOption("SDL.OpenGL", &s_useOpenGL);
|
||||
//#endif
|
||||
g_config->getOption("SDL.SpecialFilter", &s_sponge);
|
||||
g_config->getOption("SDL.XStretch", &xstretch);
|
||||
g_config->getOption("SDL.YStretch", &ystretch);
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
#endif
|
||||
|
||||
#define FCEU_VERSION_NUMERIC 22020
|
||||
#define FCEU_VERSION_STRING "2.2.3" FCEU_SUBVERSION_STRING FCEU_FEATURE_STRING FCEU_COMPILER
|
||||
#define FCEU_VERSION_STRING "2.3.0" FCEU_SUBVERSION_STRING FCEU_FEATURE_STRING FCEU_COMPILER
|
||||
#define FCEU_NAME_AND_VERSION FCEU_NAME " " FCEU_VERSION_STRING
|
||||
|
||||
#endif
|
||||
|
|
|
@ -77,8 +77,8 @@
|
|||
<ul>
|
||||
<li><a href="https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux.zip?branch=master&job=Windows%2032">Windows 32-bit</a></li>
|
||||
<li><a href="https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux64.zip?branch=master&job=Windows%2064">Windows 64-bit</a></li>
|
||||
<li><a href="https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.2.3-amd64.deb?branch=master&job=Ubuntu">Ubuntu Linux</a></li>
|
||||
<li><a href="https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.2.3-Darwin.dmg?branch=master&job=MacOS">Mac OS X</a></li>
|
||||
<li><a href="https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.3.0-amd64.deb?branch=master&job=Ubuntu">Ubuntu Linux</a></li>
|
||||
<li><a href="https://ci.appveyor.com/api/projects/zeromus/fceux/artifacts/fceux-2.3.0-Darwin.dmg?branch=master&job=MacOS">Mac OS X</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Source Code</h3>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<div id="page_content">
|
||||
|
||||
<center><h1>FCEUX SDL Documentation</h1></center>
|
||||
<center><i>Last updated October 11, 2011<br />Valid as of FCEUX 2.1.5</i><br></center>
|
||||
<center><i>Last updated December 9, 2020<br />Valid as of FCEUX 2.3.0</i><br></center>
|
||||
<p>
|
||||
<b>Table of Contents:</b>
|
||||
<ul>
|
||||
|
@ -36,6 +36,7 @@
|
|||
<li /><a href="#features-ips">Automatic IPS Patching</a>
|
||||
<li /><a href="#using">Using FCEUX</a>
|
||||
<ul>
|
||||
<li /><a href="#gui-styling">Qt GUI Style</a>
|
||||
<li /><a href="#using-hotkeys">Hotkey Assignments</a>
|
||||
<ul>
|
||||
<li /><a href="#using-keys-vs">VS Unisystem</a>
|
||||
|
@ -185,13 +186,25 @@ necessarily 100% accurate or complete):
|
|||
<a name="using"><h2>Using FCEUX</h2></a>
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<a name="gui-styling"><h3>Qt GUI Style</h3></a>
|
||||
<p>
|
||||
The Qt GUI can either use the standard system style/themes or custom stylesheets.
|
||||
The available standard styles that are installed on the system will be listed when running the executable command line help.
|
||||
To use a provided system style, use the --style command line argument.
|
||||
To use a custom Qt stylesheet file, set an environment variable named FCEUX_QT_STYLESHEET that contains
|
||||
the full path to the file. This will check for this at startup.
|
||||
If the variable is defined and the file is readable by the program,
|
||||
then the styling settings will be used by the GUI.<br>
|
||||
<br>Bash Shell Setup Example:
|
||||
<pre>
|
||||
export FCEUX_QT_STYLESHEET=/home/me/myFceux.qss
|
||||
</pre>
|
||||
For information on Qt stylesheet syntax, see <a href=https://doc.qt.io/>Qt online documentation</a>
|
||||
</p>
|
||||
<a name="using-hotkeys"><h3>Hotkey Assignments</h3></a>
|
||||
<p>
|
||||
<b>NOTE:</b>There is not a GUI available to remap these hotkeys for SDL. If you really
|
||||
want to remap the hotkeys, you can edit the config file manually and replace the values
|
||||
with SDL keysyms. Alternatively, you can use a tool like <a href="http://qjoypad.sourceforge.net/">qjoypad</a>
|
||||
or <a href="http://joy2key.sourceforge.net/">joy2key</a> and even map hotkeys to joystick buttons/axes.
|
||||
<b>NOTE:</b> The GUI has a window to remap these hotkeys for SDL.
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Key:</th><th>Action:</th></tr>
|
||||
|
@ -242,7 +255,7 @@ necessarily 100% accurate or complete):
|
|||
</p>
|
||||
<a name="using-keys-gamepad"><h4>Gamepad</h4></a>
|
||||
<p> These are the default keys for the P1 gamepad. These can
|
||||
be remapped using the --inputcfg command line parameter or the GTK GUI
|
||||
be remapped the Qt GUI
|
||||
<table border>
|
||||
<tr><th>Key:</th><th nowrap>Button on Emulated Gamepad:</th></tr>
|
||||
<tr><td>D</td><td>B</td></tr>
|
||||
|
@ -292,8 +305,10 @@ necessarily 100% accurate or complete):
|
|||
are taken in the form of "--parameter value". Most arguments that have
|
||||
both a parameter and a value will be saved in the configuration file.
|
||||
</p>
|
||||
<b>NOTE: </b>This list is incomplete! For a full list of options, run
|
||||
fceux without any arguments.
|
||||
<b>NOTE: </b>This list is incomplete! For a full list of options, run:
|
||||
<pre>
|
||||
fceux --help
|
||||
</pre>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Argument:</th><th>Value Type:</th><th>Default value:</th><th>Description:</th></tr>
|
||||
|
@ -321,6 +336,8 @@ necessarily 100% accurate or complete):
|
|||
<tr><td>Unknown</td><td>Original Author</td></tr>
|
||||
<tr><td><a href="mailto:ltsmooth42 _at_ gmail _dot_ com">Lukas Sabota</a></td>
|
||||
<td>FCEUX SDL documentation revival.</td></tr>
|
||||
<tr><td>mjbudd77</td>
|
||||
<td>FCEUX Qt/SDL documentation upates.</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -23,31 +23,26 @@
|
|||
<div id="page_content">
|
||||
|
||||
<center><h1>FCEUX SDL FAQ</h1></center>
|
||||
<center><i>Last updated February 10, 2012<br /></i> by punkrockguy318<br />
|
||||
<center><i>Last updated December 9, 2020<br /></i> by mjbudd77<br />
|
||||
</center>
|
||||
<p><b>Table of Contents:</b></p>
|
||||
<ul>
|
||||
<li><a href="#svn">What is the subversion build and how can I get it?</a></li>
|
||||
<li><a href="#git">What is the git build and how can I get it?</a></li>
|
||||
<li><a href="#config">How do I configure a gamepad?</a></li>
|
||||
<li><a href="#sound">My sound is stuttery/laggy. How can I fix this?</a></li>
|
||||
<li><a href="#timing">My game is skipping frames. How can I fix this?</a></li>
|
||||
<li><a href="#hotkeys1">How can I change my hotkey bindings?</a></li>
|
||||
<li><a href="#hotkeys2">Can I map hotkeys to my gamepad?</a></li>
|
||||
</ul>
|
||||
<a name="subversion"><h3>What is the subversion build and how can I get it?</h3></a>
|
||||
<a name="git"><h3>What is the git build and how can I get it?</h3></a>
|
||||
<p>The most recent changes to fceuX are reflected immediately in the fceux
|
||||
sourceforge subversion server. You can checkout the source code to build
|
||||
github server. You can checkout the source code to build
|
||||
fceuX with the most recent sources by running the following command:</p>
|
||||
<p><b>svn co https://fceultra.svn.sourceforge.net/svnroot/fceultra/fceu fceux</b></p>
|
||||
<p>Instructions for compiling and installing fceuX can be found in the "README-SDL" file.</p>
|
||||
<p><b>git clone https://github.com/TASVideos/fceux.git</b></p>
|
||||
<p>Instructions for compiling and installing fceuX can be found in the "README" file.</p>
|
||||
<a name="config"><h3>How do I configure a gamepad?</h3></a>
|
||||
<p>
|
||||
<p>If you have the GTK GUI compiled into fceuX, you can configure the gamepad by
|
||||
<p>Using the Qt GUI, you can configure the gamepad by
|
||||
selecting "Options...Gamepad" in the menubar.</p>
|
||||
<p>You can allso configure the first gamepad by running <b>fceux --inputcfg gamepad1</b> </p>
|
||||
<p>When you configure a button you will be presented with a black window with a titlebar
|
||||
indicating what button to map. FceuX will look for two
|
||||
of the same keypress/joystick event in a row. If it doesn't find two of the same
|
||||
keypresses in a row, it will allow you to map the button to two separate keys.</p>
|
||||
</p>
|
||||
<a name="sound"><h3>My sound is stuttery/laggy. How can I fix this?</h3></a>
|
||||
<p>Try using different SDL audio drivers. You can set the SDL audio driver with
|
||||
|
@ -58,11 +53,21 @@
|
|||
you may want to try the latest version of fceuX to see if you are still having issues. FceuX
|
||||
2.1.4 fixed the majority of the reported sound issues.
|
||||
</p>
|
||||
<a name="timing"><h3>My game is skipping frames. How can I improve this?</h3></a>
|
||||
<p>The Qt/SDL version of fceux runs two threads. One for the GUI and one for the emulation.
|
||||
The realtime OS scheduling and priority of both of these threads can be tuned via the GUI
|
||||
timing config options window (accessible via the menu bar). For Mac OSX systems, fceux must
|
||||
have root permission to increase process priority. For Linux systems, add the following
|
||||
lines to the <b>/etc/security/limits.conf</b> file to ensure that fceux users have the proper system
|
||||
resource permissions (requires reboot after editing for changes to take place):
|
||||
<pre>
|
||||
* - priority 99
|
||||
* - rtprio 99
|
||||
* - nice -20
|
||||
</pre>
|
||||
</p>
|
||||
<a name="hotkeys1"><h3>How can I change my emulator hotkey bindings?</h3></a>
|
||||
<p>You need to edit your ~/.fceux/fceux.cfg file. The SDL.Hotkeys.* values
|
||||
are SDL keysyms, which can be found in SDL_keysym.h (probably
|
||||
/usr/include/SDL/SDL_keysym.h on your system). At the time of writing,
|
||||
hotkeys are not mappable from the GUI in sdl (although it is planned for the future).
|
||||
<p>SDL hotkey bindings can be remapped using the Qt GUI. Selecting "Options...HotKeys" in the menubar.
|
||||
</p>
|
||||
<a name="hotkeys2"><h3>Can I map emulator hotkeys to my gamepad?</h3></a>
|
||||
<p>If you want to map particular hotkeys (pause, save state, load state, etc) to buttons on
|
||||
|
@ -77,6 +82,8 @@
|
|||
<tr><th>Name:</th><th>Contribution(s):</th></tr>
|
||||
<tr><td><a href="mailto:ltsmooth42 _at_ gmail _dot_ com">Lukas Sabota</a></td>
|
||||
<td>Author of this document</td></tr>
|
||||
<tr><td>mjbudd77</td>
|
||||
<td>Qt/SDL Updates</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue