Removed 'mergeprops' commandline argument.

Added Alt-s key to merge current properties into stella.pro.  Together with
the Ctrl-s key which saves current properties to a new properties file,
there was no longer any need for the mergeprops argument.

Major update of the Stella manual, including the further consolidation
of the main codebase with the OSX version, as well as snapshots of the
integrated GUI.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@453 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2005-05-28 23:57:10 +00:00
parent 9e5a330700
commit 5c1775d45c
14 changed files with 326 additions and 302 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

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.2</b></h4></center>
<center><h4><b>Release 2.0</b></h4></center>
<br><br>
<center><h2><b>User's Guide</b></h2></center>
@ -22,9 +22,11 @@
<li><a href="#Installation">Installation</a></li>
<li><a href="#Games">Games</a></li>
<li><a href="#Starting">Starting A Game</a></li>
<li><a href="#Options">Changing Options</a></li>
<li><a href="#Settings">Settings File</a></li>
<li><a href="#Keyboard">Keyboard Layout</a></li>
<li><a href="#Remapping">Event Remapping</a></li>
<li><a href="#Debugger">Integrated Debugger</a></li>
<li><a href="#Properties">Game Properties</a></li>
<li><a href="#Adaptor">Stelladaptor Support</a></li>
<li><a href="#Acknowledgments">Acknowledgments</a></li>
@ -33,7 +35,7 @@
<br><br><br>
<center><b>February 1999 - February 2005</b></center>
<center><b>February 1999 - (FIXME)February 2005</b></center>
<center><b>The Stella Team</b></center>
<center><b><a href="http://stella.sourceforge.net">Stella Homepage</a></b></center>
@ -212,38 +214,69 @@
Sega Dreamcast, Unix, and Windows.
</p>
<h2><b>New in Release 1.4.2</b></h2>
<h2><b>New in Release 2.0</b></h2>
<ul>
<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>Added integrated GUI. Stella is now a fully graphical application, and all
settings can be changed dynamically while the application is running. That
means the commandline is no longer required (but support is still there
for those that want to use it).</li>
<li>Fixed the <b>gl_fsmax</b> argument to mean "switch to desktop resolution
on fullscreen OpenGL", instead of to the maximum possible resolution
(the two are not always the same).</li>
<li>Added ROM launcher. You can now exit a game and start playing another one
from directly within Stella (you no longer have to quit Stella and
restart it).</li>
<li>Added <b>Alt [</b> and <b>Alt ]</b> keys to dynamically adjust the
sound volume during emulation.</li>
<li>Because of the integrated GUI and ROM launcher, StellaX and KStella
(the Windows and Linux frontends) have been discontinued. The OSX
port now uses the launcher as well.</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>FIXME - add info about integrated debugger</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>Further consolidation and integration of SDL. This should lead to
faster operation and a more consistent look for all ports.</li>
<li>Made sure screen is refreshed before taking a snapshot. This eliminates
the problem with new snapshots containing the text "Snapshot saved".</li>
<li>Added ZIP support. Stella can now open ROM's compressed in zip
format.</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>Added <b>Alt/Shift-Cmd z, x, c, v, b, n</b> keys to enable/disable the
P0, P1, M0, M1, BL, PL bits in the TIA, respectively.</li>
<li>For the OSX port; added 'Cmd-R' key to reload the currently loaded ROM.</li>
<li>Added <b>Alt/Shift-Cmd .</b> key to disable all bits in the TIA.</li>
<li>Added <b>Alt/Shift-Cmd /</b> key to enable all bits in the TIA.</li>
<li>Added <b>Alt/Shift-Cmd g</b> key to switch dynamically switch between
software and OpenGL modes while Stella is running.</li>
<li>Added <b>Ctrl/Cmd r</b> key to reload the ROM currently being
emulated.</li>
<li>Added <b>Alt/Shift-Cmd s</b> key to merge the current game properties
into the properties file.</li>
<li>Added <b>help</b> commandline argument. Launching Stella from the
commandline with no options now starts Stella in ROM launcher mode,
instead of showing help (as in previous versions).</li>
<li>Added the following commandline arguments for developers:
<b>pro, type, ld, rd, tv, lc, rc, bc, format, xstart, ystart, width
height, cpu, hmove</b>. Developers can consult the manual for
further details.</li>
<li>Removed <b>mergeprops</b> commandline argument, since there are now
dedicated keys to do either save or merge game properties.</li>
<li>Removed <b>grabmouse</b> and <b>hidecursor</b> commandline arguments.
Stella will now automatically decide when to use these settings.
You can still use <b>Ctrl/Cmd g</b> to grab/ungrab the mouse.</li>
<li>Fixed framerate when switching between NTSC and PAL modes. Stella
now uses the correct framerate based on the format of the ROM.</li>
<li>Fixed some 64-bit issues. Stella now compiles and runs correctly
on AMD64 and PPC64 systems.</li>
<li>Updated the Stella manual with pictures of the new integrated GUI.</li>
</ul>
<p>
@ -283,7 +316,6 @@
<li>Supports several "undocumented features" of the TIA graphics chip used by
some games</li>
<li>TIA emulation supports full collision checking</li>
<li>Linux version of Stella works with the KStella frontend by Stephen Anthony</li>
</ul>
<br><br>
@ -341,9 +373,8 @@
the following:</p>
<ul>
<li>Visual C++ 7 compiler is required to compile the StellaX GUI frontend</li>
<li>Visual C++ 7 or MinGW compiler is required to compile the Stella
executable</li>
source code</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
@ -361,7 +392,7 @@
<p>If you have a supported joystick and driver installed and SDL can access the device,
you can play games using joysticks.</p>
<p>Currently, sound is supported using SDL. As long as SDL can see your sound card,
<p>Currently, sound is supported using SDL. As long as SDL can detect your sound card,
Stella will be able to produce sound.</p>
<p>
@ -398,8 +429,8 @@
<p>
<h2><b>Macintosh</b></h2>
<p>To install the Mac binary, simply download the StellaOSX1.4.dmg disk
image.&nbsp; Mount the disk image, then copy the StellaOSX1.4 folder to
<p>To install the Mac binary, simply download the DMG disk
image. Mount the disk image, then copy the StellaOSXxxx folder to
your hard drive.<br>
</p>
@ -425,9 +456,8 @@
<ul>
<li>Open the <b>stella-<i>release</i>/src/win32/Stella_Emulator.sln</b>
file using Visual C++ 7</li>
<li>Build both Stella.exe (commandline emulator) and StellaX.exe
(GUI frontend)</li>
<li>Copy the <b>Stella.exe</b>, <b>StellaX.exe</b> and <b>stella.pro</b> files
<li>Build the 'Stella' solution</li>
<li>Copy the <b>Stella.exe</b> and <b>stella.pro</b> files
to some directory</li>
</ul>
</ol>
@ -509,18 +539,37 @@
<hr>
<p>Once Stella is installed and you have some ROM images you're ready to start
playing. To play a game follow the directions for your operating system.</p>
playing.</p>
<p>
<h2><b>Linux/Unix</b></h2>
<h2><b>Integrated GUI</b></h2>
<p>The Linux version of Stella uses command line arguments to specify the game
you'd like to play as well as other options. To see the list of available
arguments, simply run stella without any options or filename.</p>
<p>As of Stella version 2.0, there is an integrated GUI for all ports. This means
that using the commandline is no longer required (but commandline support is still
included for those who want to use it).</p>
<p>The KDE frontend <a href="http://kstella.sourceforge.net">KStella</a> can
also be used, which provides a graphical, point-and-click interface for changing
most Stella options.</p>
<p>If you start Stella and do not specify a ROM image, it will start in
'ROM Launcher' mode:<br><br>
<img src="graphics/launcher.png"></p>
<p>The ROM and snapshot settings may be changed by clicking the 'Options'
button:<br><br>
<img src="graphics/launcher_options_rom.png">
<img src="graphics/launcher_options_snap.png"></p>
<p>Selecting a new path for ROM or snapshots is done by clicking the 'Path'
button(s):<br><br>
<img src="graphics/rom_browser.png"></p>
<p>Once a ROM directory has been selected, clicking 'Reload' will update the
ROM listing. You can start emulation by selecting a ROM and pressing 'Enter',
clicking 'Play' or double-clicking a ROM.</p>
<p>
<h2><b>Command Line</b></h2>
<p>Stella can also be used from the commandline (assuming your operating system
has a commandline). When using this mode, the ROM launcher is disabled.</p>
<p>To run Stella from the commandline, use the following format:</p>
@ -541,46 +590,31 @@
</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>
<td><pre>-video_driver &lt;windib|directx&gt;</pre></td>
<td>Use the specified video driver. Windows works best with 'windib'.
Currently, only Windows makes use of this argument.</td>
</tr>
<tr>
<td><pre>-gl_filter &lt;nearest|linear&gt;</pre></td>
<td>Use GL_NEAREST or GL_LINEAR filtering. GL_NEAREST results in a scaled,
pixelated image, while GL_LINEAR introduces blurring.</td>
<td>OpenGL mode only. Use GL_NEAREST or GL_LINEAR filtering.
GL_NEAREST results in a scaled, pixelated image, while
GL_LINEAR introduces blurring.</td>
</tr>
<tr>
<td><pre>-gl_aspect &lt;number&gt;</pre></td>
<td>Specify the aspect ratio of the window. Normal TV mode would be 4:3,
so you would specify 1.3333. But since many video modes do not use
square pixels, you may have to try different values. I find 1.6
gives the most authentic look.</td>
<td>OpenGL mode only. Specify the aspect ratio of the window. Normal
TV mode would be 4:3, so you would specify 1.3333. But since
many video modes do not use square pixels, you may have to try
different values. I find 1.6 or 1.7 gives the most authentic look.</td>
</tr>
<tr>
<td><pre>-gl_fsmax &lt;0|1&gt;</pre></td>
<td>Use the current desktop resolution when switching to fullscreen OpenGL
mode (so a video-mode switch can be avoided). If not supported, then
use the maximum possible resolution available.</td>
</tr>
<tr>
<td><pre>-sound &lt;0|1&gt;</pre></td>
<td>Disable or enable sound.</td>
</tr>
<tr>
<td><pre>-fragsize &lt;number&gt;</pre></td>
<td>Specify the sound fragment size to use. Linux/Mac seems to work
with 512, Windows may need 2048.</td>
</tr>
<tr>
<td><pre>-framerate &lt;number&gt;</pre></td>
<td>Display the given number of frames per second.</td>
<td>OpenGL mode only. Use the current desktop resolution when switching
to fullscreen OpenGL mode (so a video-mode switch can be avoided).
If not supported, then use the maximum possible resolution available.</td>
</tr>
<tr>
@ -599,14 +633,31 @@
</tr>
<tr>
<td><pre>-hidecursor &lt;0|1&gt;</pre></td>
<td>Hides the mouse cursor in the game window.</td>
<td><pre>-palette &lt;original|standard|z26&gt;</pre></td>
<td>Set the palette to either pre-Stella 1.4, Stella 1.4 and above
or the palette used in the z26 emulator.</td>
</tr>
<tr>
<td><pre>-framerate &lt;number&gt;</pre></td>
<td>Display the given number of frames per second. Normally, Stella
will determine framerate based on ROM format.</td>
</tr>
<tr>
<td><pre>-sound &lt;0|1&gt;</pre></td>
<td>Disable or enable sound.</td>
</tr>
<tr>
<td><pre>-fragsize &lt;number&gt;</pre></td>
<td>Specify the sound fragment size to use. Linux/Mac seems to work
with 512, Windows may need 2048.</td>
</tr>
<tr>
<td><pre>-volume &lt;number&gt;</pre></td>
<td>Set the volume (0 - 100). Use -1 to completely disable
changing the volume.</td>
<td>Set the volume (0 - 100).</td>
</tr>
<tr>
@ -615,20 +666,21 @@
</tr>
<tr>
<td><pre>-altpro &lt;props file&gt;</pre></td>
<td>Use the given properties file instead of stella.pro.</td>
<td><pre>-showinfo &lt;0|1&gt;</pre></td>
<td>Shows some game info while Stella is running.</td>
</tr>
<tr>
<td><pre>-showinfo &lt;0|1&gt;</pre></td>
<td>Shows some game info when the program exits.</td>
<td><pre>-mergeprops &lt;0|1&gt;</pre></td>
<td>Save the current properties to a separate file in the users' home directory,
or merge them into the users' stella.pro file.</td>
</tr>
<tr>
<td><pre>-accurate &lt;0|1&gt;</pre></td>
<td>Accurate game timing (uses more CPU). This setting seems to work
better with the Linux 2.4 kernel. Newer kernels, Mac and Windows
should probably not use this.</td>
<td>Linux only, may be removed in future versions. Use this when
running under the Linux 2.4 kernel. Otherwise, this should probably
not be used.</td>
</tr>
<tr>
@ -649,204 +701,135 @@
</tr>
<tr>
<td><pre>-mergeprops &lt;0|1&gt;</pre></td>
<td>Save the current properties to a separate file in the users' home directory,
or merge them into the users' stella.pro file.</td>
<td><pre>-listrominfo</pre></td>
<td>Prints the contents of the stella.pro file, one ROM per line,
and then exit Stella.</td>
</tr>
<tr>
<td><pre>-help</pre></td>
<td>Prints a help message describing these options, and then
exit Stella.</td>
</tr>
</table>
<p>
<h2><b>Macintosh</b></h2>
<p>The Mac version of Stella is a native Cocoa-based application.&nbsp;
When the application starts, a dialog box will ask you to select the
cartridge file that you want to play.&nbsp; If you do not want to
select a cartridge, but want to use the applications help or about
boxes, you may cancel out of the dialog box, and you Cmd-O to open a
cartridge file later.<br>
</p>
<p>A cartridge may also be selected by dragging the cartridge file to
the application icon, either to start the application, or once it is
running.<br>
</p>
<p>Most of the options of the Macintosh version are selectable by using
the menus, or the Cmd keys associated with the menu entries.&nbsp;
Note, most of the non-remappable keys are different for the Mac version
than those listed in <b>Section 7 - <a href="#Keyboard">Keyboard Layout</a></b>.
</p>
<p>The menu choices/Cmd keys for the Mac version are as follows:<br>
</p>
<table BORDER=2>
<tr>
<th>Function</th>
<th>Key</th>
</tr>
<tr>
<td>Open New Cartridge (start new game)</td>
<td>Cmd + o</td>
</tr>
<tr>
<td>Restart Current Cartridge (start new game)</td>
<td>Cmd + r</td>
</tr>
<tr>
<td>Quit Stella</td>
<td>Cmd + q</td>
</tr>
<tr>
<td>Pause Stella</td>
<td>Cmd + p</td>
</tr>
<tr>
<td>Resize window to next <i>larger</i> size</td>
<td>Cmd + =</td>
</tr>
<tr>
<td>Resize window to next <i>smaller</i> size</td>
<td>Cmd + -</td>
</tr>
<tr>
<td>Toggle Speed (Frame Rate) Limiter</td>
<td>Cmd + l</td>
</tr>
<tr>
<td>Toggle fullscreen/windowed mode</td>
<td>Cmd + Enter</td>
</tr>
<tr>
<td>Toggle OpenGL filtering modes</td>
<td>Cmd + f</td>
</tr>
<tr>
<td>Toggle Display Palette</td>
<td>Cmd + Shift + p</td>
</tr>
<tr>
<td>Toggle display format between <i>NTSC</i> and <i>PAL</i></td>
<td>Cmd + Shift + f</td>
</tr>
<tr>
<td>Set Mouse to Emulate Paddle 0</td>
<td>Cmd + 0</td>
</tr>
<tr>
<td>Set Mouse to Emulate Paddle 1</td>
<td>Cmd + 1</td>
</tr>
<tr>
<td>Set Mouse to Emulate Paddle 2</td>
<td>Cmd + 2</td>
</tr>
<tr>
<td>Set Mouse to Emulate Paddle 3</td>
<td>Cmd + 3</td>
</tr>
<tr>
<td>Grab mouse/hide cursor (keep mouse in game window)</td>
<td>Cmd + g</td>
</tr>
<tr>
<td>Minimize Game Window</td>
<td>Cmd + m</td>
</tr>
<tr>
<td>Change Game Preferences</td>
<td>Cmd + ,</td>
</tr>
<tr>
<td>Display this file in Help Viewer</td>
<td>Cmd + ?</td>
</tr>
</table>
<p><b>Developer Keys </b></p>
<p>If developer support was included in Stella, the following developer
commandline arguments are also available. Note that in all cases,
the values supplied to the arguments are <b>not</b> case sensitive.</p>
<table BORDER=2>
<tr>
<th>Function</th>
<th>Key</th>
<th>Argument</th>
<th>Description</th>
</tr>
<tr>
<td>Set "Display.YStart" to next <i>larger</i> value</td>
<td>Cmd + PageUp</td>
<td><pre>-pro &lt;props file&gt;</pre></td>
<td>Use the given properties file instead of stella.pro.</td>
</tr>
<tr>
<td>Set "Display.YStart" to next <i>smaller</i> value</td>
<td>Cmd + PageDown</td>
<td><pre>-type &lt;type&gt;</pre></td>
<td>Set "Cartridge.Type" property. See the <i>Game Properties</i> section
for valid types.</td>
</tr>
<tr>
<td>Set "Display.XStart" to next <i>larger</i> value</td>
<td>Cmd + End</td>
<td><pre>-ld &lt;A|B&gt;</pre></td>
<td>Set "Console.LeftDifficulty" property.</td>
</tr>
<tr>
<td>Set "Display.XStart" to next <i>smaller</i> value</td>
<td>Cmd + Home</td>
<td><pre>-rd &lt;A|B&gt;</pre></td>
<td>Set "Console.RightDifficulty" property.</td>
</tr>
<tr>
<td>Set "Display.Width" to next <i>larger</i> value</td>
<td>Cmd + Shift + End</td>
<td><pre>-tv &lt;Color|BlankAndWhite&gt;</pre></td>
<td>Set "Console.TelevisionType" property.</td>
</tr>
<tr>
<td>Set "Display.Width" to next <i>smaller</i> value</td>
<td>Cmd + Shift + Home</td>
<td><pre>-lc &lt;type&gt;</pre></td>
<td>Set "Controller.Left" property, where type is one of Booster-Grip,
Driving, Keyboard, Paddles, or Joystick.</td>
</tr>
<tr>
<td>Set "Display.Height" to next <i>larger</i> value</td>
<td>Cmd + Shift + PageUp</td>
<td><pre>-rc &lt;type&gt;</pre></td>
<td>Set "Controller.Right" property, where type is one of Booster-Grip,
Driving, Keyboard, Paddles, or Joystick.</td>
</tr>
<tr>
<td>Set "Display.Height" to next <i>smaller</i> value</td>
<td>Cmd + Shift + PageDown</td>
<td><pre>-bc &lt;type&gt;</pre></td>
<td>Sets both "Controller.Left" and "Controller.Right" properties, where
type is one of Booster-Grip, Driving, Keyboard, Paddles, or Joystick.</td>
</tr>
<tr>
<td><pre>-format &lt;NTSC|PAL&gt;</pre></td>
<td>Set "Display.Format" property.</td>
</tr>
<tr>
<td><pre>-xstart &lt;number&gt;</pre></td>
<td>Set "Display.XStart" property (0 - 80).</td>
</tr>
<tr>
<td><pre>-ystart &lt;number&gt;</pre></td>
<td>Set "Display.YStart" property (0 - 64).</td>
</tr>
<tr>
<td><pre>-width &lt;number&gt;</pre></td>
<td>Set "Display.Width" property (80 - 160).</td>
</tr>
<tr>
<td><pre>-height &lt;number&gt;</pre></td>
<td>Set "Display.Height" property (100 - 256).</td>
</tr>
<tr>
<td><pre>-cpu &lt;High|Low&gt;</pre></td>
<td>Set "Emulation.CPU" property.</td>
</tr>
<tr>
<td><pre>-hmove &lt;Yes|No&gt;</pre></td>
<td>Set "Emulation.HmoveBlanks" property.</td>
</tr>
</table>
<p>
<h2><b>Windows</b></h2>
<p>The Windows version of Stella is either commandline based or can use a GUI.
<ul>
<li>If using the commandline version (Stella.exe), the options are the same as
for the Linux version (described above).
<li>If using the GUI version (StellaX.exe), the 'Config' page contains some of
the options as listed for the Linux version (described above). The other
options can be selected from within the emulation itself (see
<b>Section 7 - <a href="#Keyboard">Keyboard Layout</a></b>).</li>
</ul>
<br><br>
<p><h1>
<a name="Settings">6. Settings File</a></h1>
<a name="Options">6. Changing Options</a></h1>
<hr>
<p>As of version 2.0, all settings can be changed within the integrated Options
GUI while Stella is running. The options are documented elsewhere in this manual
and are generally self-explanatory.</p>
<p><b>Video Options</b> dialog:<br><br>
<img src="graphics/options_video.png">
<p><b>Audio Options</b> dialog:<br><br>
<img src="graphics/options_audio.png">
<p><b>Game Information</b> dialog:<br><br>
<img src="graphics/options_gameinfo.png">
<p><b>Help</b> dialog:<br><br>
<img src="graphics/options_help.png">
<p><b>About</b> dialog:<br><br>
<img src="graphics/options_about.png">
<br><br>
<p><h1>
<a name="Settings">7. Settings File</a></h1>
<hr>
<p>Stella will remember when you change a setting either at the command line
@ -911,14 +894,14 @@
<br><br>
<p><h1>
<a name="Keyboard">7. Keyboard Layout</a></h1>
<a name="Keyboard">8. Keyboard Layout</a></h1>
<hr>
<p>The Atari 2600 console controls and controllers are mapped to the computer's
keyboard as shown in the following tables.</p>
<p>As of Stella 1.4, most of these events can be remapped to other keys on your keyboard
or buttons on your joystick (see <b>Section 8 -
or buttons on your joystick (see <b>Section 9 -
<a href="#Remapping">Event Remapping</a></b>). The tables below show the default
settings.</p>
@ -927,87 +910,104 @@
<table BORDER=2>
<tr>
<th>Function</th>
<th>Key</th>
<th>Key (Standard)</th>
<th>Key (OSX)</th>
</tr>
<tr>
<td>Exit emulator (can't be remapped)</td>
<td>Exit emulator</td>
<td>Ctrl + q</td>
<td>Cmd + q</td>
</tr>
<tr>
<td>Exit game mode/enter launcher mode</td>
<td>Escape</td>
<td>Escape</td>
</tr>
<tr>
<td>Exit submenu in menu mode (can't be remapped)</td>
<td>Escape</td>
</tr>
<tr>
<td>Enter/exit menu mode (can't be remapped)</td>
<td>Enter/exit options mode</td>
<td>Tab</td>
<td>Tab</td>
</tr>
<tr>
<td>Select Game</td>
<td>F1</td>
<td>F1</td>
</tr>
<tr>
<td>Reset Game</td>
<td>F2</td>
<td>F2</td>
</tr>
<tr>
<td>Color TV</td>
<td>F3</td>
<td>F3</td>
</tr>
<tr>
<td>Black/White TV</td>
<td>F4</td>
<td>F4</td>
</tr>
<tr>
<td>Left Player Difficulty B</td>
<td>F5</td>
<td>F5</td>
</tr>
<tr>
<td>Left Player Difficulty A</td>
<td>F6</td>
<td>F6</td>
</tr>
<tr>
<td>Right Player Difficulty B</td>
<td>F7</td>
<td>F7</td>
</tr>
<tr>
<td>Right Player Difficulty A</td>
<td>F8</td>
<td>F8</td>
</tr>
<tr>
<td>Save state to current slot</td>
<td>F9</td>
<td>F9</td>
</tr>
<tr>
<td>Change current state slot</td>
<td>F10</td>
<td>F10</td>
</tr>
<tr>
<td>Load state from current slot</td>
<td>F11</td>
<td>F11</td>
</tr>
<tr>
<td>Save PNG snapshot</td>
<td>F12</td>
<td>F12</td>
</tr>
<tr>
<td>Pause/resume emulation</td>
<td>Pause</td>
<td>Pause(FIXME)</td>
</tr>
</table>
@ -1406,47 +1406,56 @@
<table BORDER=2>
<tr>
<th>Function</th>
<th>Key</th>
<th>Key (Standard)</th>
<th>Key (OSX)</th>
</tr>
<tr>
<td>Set "Display.YStart" to next <i>larger</i> value</td>
<td>Alt + PageUp</td>
<td>Shift-Cmd + PageUp</td>
</tr>
<tr>
<td>Set "Display.YStart" to next <i>smaller</i> value</td>
<td>Alt + PageDown</td>
<td>Shift-Cmd + PageDown</td>
</tr>
<tr>
<td>Set "Display.Height" to next <i>larger</i> value</td>
<td>Control + PageUp</td>
<td>Cmd + PageUp</td>
</tr>
<tr>
<td>Set "Display.Height" to next <i>smaller</i> value</td>
<td>Control + PageDown</td>
<td>Cmd + PageDown</td>
</tr>
<tr>
<td>Set "Display.XStart" to next <i>larger</i> value</td>
<td>Alt + End</td>
<td>Shift-Cmd + End</td>
</tr>
<tr>
<td>Set "Display.XStart" to next <i>smaller</i> value</td>
<td>Alt + Home</td>
<td>Shift-Cmd + Home</td>
</tr>
<tr>
<td>Set "Display.Width" to next <i>larger</i> value</td>
<td>Control + End</td>
<td>Cmd + End</td>
</tr>
<tr>
<td>Set "Display.Width" to next <i>smaller</i> value</td>
<td>Control + Home</td>
<td>Cmd + Home</td>
</tr>
</table>
@ -1455,112 +1464,132 @@
<table BORDER=2>
<tr>
<th>Function</th>
<th>Key</th>
<th>Key (Standard)</th>
<th>Key (OSX)</th>
</tr>
<tr>
<td>Resize window to next <i>larger</i> size</td>
<td>Alt + =</td>
<td>Shift-Cmd + =</td>
</tr>
<tr>
<td>Resize window to next <i>smaller</i> size</td>
<td>Alt + -</td>
<td>Shift-Cmd + -</td>
</tr>
<tr>
<td>Toggle fullscreen/windowed mode</td>
<td>Alt + Enter</td>
<td>Shift-Cmd + Enter(FIXME)</td>
</tr>
<tr>
<td>Toggle OpenGL filtering modes</td>
<td>Alt + f</td>
<td>Shift-Cmd + f</td>
</tr>
<tr>
<td>Increase volume</td>
<td>Alt + ]</td>
<td>Alt + f</td>
<td>Shift-Cmd + f</td>
</tr>
<tr>
<td>Decrease volume</td>
<td>Alt + [</td>
<td>Shift-Cmd + [</td>
</tr>
<tr>
<td>Grab mouse (keep mouse in game window)</td>
<td>Control + g</td>
</tr>
<tr>
<td>Hide cursor (hide cursor in game window)</td>
<td>Control + h</td>
<td>Cmd + g</td>
</tr>
<tr>
<td>Toggle display format between <i>NTSC</i> and <i>PAL</i></td>
<td>Control + f</td>
<td>Cmd + f</td>
</tr>
<tr>
<td>Save (or merge) the current properties</td>
<td>Save current properties to a new properties file</td>
<td>Control + s</td>
<td>Cmd + s</td>
</tr>
<tr>
<td>Merge current properties into the properties file</td>
<td>Alt + s</td>
<td>Shift-Cmd + s</td>
</tr>
<tr>
<td>Set mouse to emulate paddle 0</td>
<td>Control + 0</td>
<td>Cmd + 0</td>
</tr>
<tr>
<td>Set mouse to emulate paddle 1</td>
<td>Control + 1</td>
<td>Cmd + 1</td>
</tr>
<tr>
<td>Set mouse to emulate paddle 2</td>
<td>Control + 2</td>
<td>Cmd + 2</td>
</tr>
<tr>
<td>Set mouse to emulate paddle 3</td>
<td>Control + 3</td>
<td>Cmd + 3</td>
</tr>
</table>
<br><br><br>
<p><h1>
<a name="Remapping">8. Event Remapping</a></h1>
<a name="Remapping">9. Event Remapping</a></h1>
<hr>
<p>This version of Stella has event remapping. Almost every event in the emulator
can be remapped to another key on the keyboard or to buttons on up to four
joysticks/gamepads (see <b>Section 7 - <a href="#Keyboard">Keyboard Layout</a></b>
joysticks/gamepads (see <b>Section 8 - <a href="#Keyboard">Keyboard Layout</a></b>
for those event which can/cannot be remapped).</p>
<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
the left and right sides of the menu indicate which item is currently
selected.</li>
<li>Select <u>Event Remapping</u> and press <b>Enter</b>.</li>
<li>Move up/down to select the event you want to remap and press <b>Enter</b>
to change the mapping, or <b>Escape</b> to go to the parent menu.</li>
<li>Triangle brackets will appear around the event to be remapped. At this
point you can press any keyboard key or gamepad button to set that key/button
to this event. Or you can press <b>Escape</b> to erase the mapping for this
event.</li>
<li>Return to step 4 to remap another event, press <b>Escape</b> to move to the
parent menu, or press <b>Tab</b> again to exit menu mode.</li>
<li>Enter options mode be pressing <b>Tab</b>.</li>
<li>Click the 'Event Mapping' button.</li>
<li>Select event you want to remap and click the 'Map' button.</li>
<li>Press a key or a joystick button, and that key/button will be bound
to the selected event.</li>
<li>Erase a mapping by clicking 'Erase', or cancel a remap in progress
by clicking 'Cancel'.</li>
<li>Reset default mappings by clicking 'Defaults'.</li>
<li>Change mouse/paddle emulation in the 'Mouse is paddle' dropdown box.</li>
</ol>
<p>The following screenshots illustrate the event remapping process:<br><br>
<img src="graphics/eventmapping.png">
<img src="graphics/eventmapping_remap.png">
<br><br><br>
<p><h1>
<a name="Properties">9. Game Properties</a></h1>
<a name="Debugger">10. Integrated Debugger</a></h1>
<hr>
FIXME - add info and snapshots for debugger
<br><br><br>
<p><h1>
<a name="Properties">11. Game Properties</a></h1>
<hr>
<p>Stella uses game properties to specify the "best" emulator settings for a
@ -1758,7 +1787,7 @@
<br><br>
<p><h1>
<a name="Adaptor">10. Stelladaptor Support</a></h1>
<a name="Adaptor">12. Stelladaptor Support</a></h1>
<hr>
<p>Stella supports real Atari 2600 joysticks, paddles and driving controllers
@ -1785,7 +1814,7 @@
<br><br>
<p><h1>
<a name="Acknowledgments">11. Acknowledgments</a></h1>
<a name="Acknowledgments">13. Acknowledgments</a></h1>
<hr>
<p>Bradford W. Mott started developing Stella during the fall of 1995 and since
@ -2016,7 +2045,7 @@
<br><br>
<p><h1>
<a name="License">12. License and Disclaimer</a></h1>
<a name="License">14. License and Disclaimer</a></h1>
<hr>
<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: EventHandler.cxx,v 1.66 2005-05-28 22:10:43 markgrebe Exp $
// $Id: EventHandler.cxx,v 1.67 2005-05-28 23:57:10 stephena Exp $
//============================================================================
#include <algorithm>
@ -564,6 +564,9 @@ void EventHandler::handleKeyEvent(SDLKey key, SDLMod mod, uInt8 state)
myOSystem->console().enableBits(true);
break;
#endif
case SDLK_s: // Alt-s merges properties into stella.pro
myOSystem->console().saveProperties(myOSystem->propertiesOutputFilename(), true);
break;
}
}
#ifndef MAC_OSX
@ -620,15 +623,9 @@ void EventHandler::handleKeyEvent(SDLKey key, SDLMod mod, uInt8 state)
break;
#endif
case SDLK_s: // Ctrl-s saves properties to a file
// Attempt to merge with propertiesSet
if(myOSystem->settings().getBool("mergeprops"))
myOSystem->console().saveProperties(myOSystem->propertiesOutputFilename(), true);
else // Save to file in base directory
{
string newPropertiesFile = myOSystem->baseDir() + BSPF_PATH_SEPARATOR +
myOSystem->console().properties().get("Cartridge.Name") + ".pro";
myOSystem->console().saveProperties(newPropertiesFile);
}
break;
}
}

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.46 2005-05-26 18:56:58 stephena Exp $
// $Id: Settings.cxx,v 1.47 2005-05-28 23:57:10 stephena Exp $
//============================================================================
#include <cassert>
@ -59,7 +59,6 @@ Settings::Settings(OSystem* osystem)
set("paddle", "0");
set("showinfo", "false");
set("mergeprops", "false");
set("ssdir", "");
set("ssname", "romname");
@ -245,6 +244,7 @@ void Settings::usage()
<< " -palette <original| Use the specified color palette\n"
<< " standard|\n"
<< " z26>\n"
<< " -framerate <number> Display the given number of frames per second\n"
#ifdef SOUND_SUPPORT
<< " -sound <1|0> Enable sound generation\n"
<< " -fragsize <number> The size of sound fragments (must be a power of two)\n"
@ -252,8 +252,6 @@ void Settings::usage()
#endif
<< " -paddle <0|1|2|3> Indicates which paddle the mouse should emulate\n"
<< " -showinfo <1|0> Shows some game info\n"
<< " -mergeprops <1|0> Merge changed properties into properties file,\n"
<< " or save into a separate file\n"
#ifdef UNIX
<< " -accurate <1|0> Accurate game timing (uses more CPU)\n"
#endif