diff --git a/stella/docs/graphics/eventmapping.png b/stella/docs/graphics/eventmapping.png
new file mode 100644
index 000000000..f9224a03a
Binary files /dev/null and b/stella/docs/graphics/eventmapping.png differ
diff --git a/stella/docs/graphics/eventmapping_remap.png b/stella/docs/graphics/eventmapping_remap.png
new file mode 100644
index 000000000..b9250455a
Binary files /dev/null and b/stella/docs/graphics/eventmapping_remap.png differ
diff --git a/stella/docs/graphics/launcher.png b/stella/docs/graphics/launcher.png
new file mode 100644
index 000000000..7348305c4
Binary files /dev/null and b/stella/docs/graphics/launcher.png differ
diff --git a/stella/docs/graphics/launcher_options_rom.png b/stella/docs/graphics/launcher_options_rom.png
new file mode 100644
index 000000000..19b31a0f2
Binary files /dev/null and b/stella/docs/graphics/launcher_options_rom.png differ
diff --git a/stella/docs/graphics/launcher_options_snap.png b/stella/docs/graphics/launcher_options_snap.png
new file mode 100644
index 000000000..2cfc62939
Binary files /dev/null and b/stella/docs/graphics/launcher_options_snap.png differ
diff --git a/stella/docs/graphics/options_about.png b/stella/docs/graphics/options_about.png
new file mode 100644
index 000000000..03c03ea5e
Binary files /dev/null and b/stella/docs/graphics/options_about.png differ
diff --git a/stella/docs/graphics/options_audio.png b/stella/docs/graphics/options_audio.png
new file mode 100644
index 000000000..5e282f76f
Binary files /dev/null and b/stella/docs/graphics/options_audio.png differ
diff --git a/stella/docs/graphics/options_gameinfo.png b/stella/docs/graphics/options_gameinfo.png
new file mode 100644
index 000000000..da8e62c3b
Binary files /dev/null and b/stella/docs/graphics/options_gameinfo.png differ
diff --git a/stella/docs/graphics/options_help.png b/stella/docs/graphics/options_help.png
new file mode 100644
index 000000000..e7e164f4e
Binary files /dev/null and b/stella/docs/graphics/options_help.png differ
diff --git a/stella/docs/graphics/options_video.png b/stella/docs/graphics/options_video.png
new file mode 100644
index 000000000..e7b73fe28
Binary files /dev/null and b/stella/docs/graphics/options_video.png differ
diff --git a/stella/docs/graphics/rom_browser.png b/stella/docs/graphics/rom_browser.png
new file mode 100644
index 000000000..6ac660bce
Binary files /dev/null and b/stella/docs/graphics/rom_browser.png differ
diff --git a/stella/docs/stella.html b/stella/docs/stella.html
index 08eb7e6cb..d2fe75eed 100644
--- a/stella/docs/stella.html
+++ b/stella/docs/stella.html
@@ -10,7 +10,7 @@
@@ -283,7 +316,6 @@
If you have a supported joystick and driver installed and SDL can access the device, you can play games using joysticks.
-Currently, sound is supported using SDL. As long as SDL can see your sound card, +
Currently, sound is supported using SDL. As long as SDL can detect your sound card, Stella will be able to produce sound.
@@ -398,8 +429,8 @@
To install the Mac binary, simply download the StellaOSX1.4.dmg disk - image. Mount the disk image, then copy the StellaOSX1.4 folder to +
To install the Mac binary, simply download the DMG disk
+ image. Mount the disk image, then copy the StellaOSXxxx folder to
your hard drive.
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.
+ playing.-
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.
+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).
-The KDE frontend KStella can - also be used, which provides a graphical, point-and-click interface for changing - most Stella options.
+If you start Stella and do not specify a ROM image, it will start in
+ 'ROM Launcher' mode:
+
The ROM and snapshot settings may be changed by clicking the 'Options'
+ button:
+
+
Selecting a new path for ROM or snapshots is done by clicking the 'Path'
+ button(s):
+
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.
+ ++
Stella can also be used from the commandline (assuming your operating system + has a commandline). When using this mode, the ROM launcher is disabled.
To run Stella from the commandline, use the following format:
@@ -541,46 +590,31 @@-video_driver <x11|windib|directx>
-video_driver <windib|directx>
-gl_filter <nearest|linear>
-gl_aspect <number>
-gl_fsmax <0|1>
-sound <0|1>
-fragsize <number>
-framerate <number>
-hidecursor <0|1>
-palette <original|standard|z26>
-framerate <number>
-sound <0|1>
-fragsize <number>
-volume <number>
-altpro <props file>
-showinfo <0|1>
-showinfo <0|1>
-mergeprops <0|1>
-accurate <0|1>
-mergeprops <0|1>
-listrominfo
-help
-
The Mac version of Stella is a native Cocoa-based application.
- When the application starts, a dialog box will ask you to select the
- cartridge file that you want to play. 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.
-
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.
-
Most of the options of the Macintosh version are selectable by using - the menus, or the Cmd keys associated with the menu entries. - Note, most of the non-remappable keys are different for the Mac version - than those listed in Section 7 - Keyboard Layout. -
-The menu choices/Cmd keys for the Mac version are as follows:
-
Function | -Key | -
---|---|
Open New Cartridge (start new game) | -Cmd + o | -
Restart Current Cartridge (start new game) | -Cmd + r | -
Quit Stella | -Cmd + q | -
Pause Stella | -Cmd + p | -
Resize window to next larger size | -Cmd + = | -
Resize window to next smaller size | -Cmd + - | -
Toggle Speed (Frame Rate) Limiter | -Cmd + l | -
Toggle fullscreen/windowed mode | -Cmd + Enter | -
Toggle OpenGL filtering modes | -Cmd + f | -
Toggle Display Palette | -Cmd + Shift + p | -
Toggle display format between NTSC and PAL | -Cmd + Shift + f | -
Set Mouse to Emulate Paddle 0 | -Cmd + 0 | -
Set Mouse to Emulate Paddle 1 | -Cmd + 1 | -
Set Mouse to Emulate Paddle 2 | -Cmd + 2 | -
Set Mouse to Emulate Paddle 3 | -Cmd + 3 | -
Grab mouse/hide cursor (keep mouse in game window) | -Cmd + g | -
Minimize Game Window | -Cmd + m | -
Change Game Preferences | -Cmd + , | -
Display this file in Help Viewer | -Cmd + ? | -
Developer Keys
+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 not case sensitive.
Function | -Key | +Argument | +Description |
---|---|---|---|
Set "Display.YStart" to next larger value | -Cmd + PageUp | +-pro <props file> |
+ Use the given properties file instead of stella.pro. | +
-type <type> |
+ Set "Cartridge.Type" property. See the Game Properties section + for valid types. | ||
Set "Display.YStart" to next smaller value | -Cmd + PageDown | -||
Set "Display.XStart" to next larger value | -Cmd + End | +-ld <A|B> |
+ Set "Console.LeftDifficulty" property. |
Set "Display.XStart" to next smaller value | -Cmd + Home | -||
Set "Display.Width" to next larger value | -Cmd + Shift + End | +-rd <A|B> |
+ Set "Console.RightDifficulty" property. |
Set "Display.Width" to next smaller value | -Cmd + Shift + Home | -||
Set "Display.Height" to next larger value | -Cmd + Shift + PageUp | +-tv <Color|BlankAndWhite> |
+ Set "Console.TelevisionType" property. |
Set "Display.Height" to next smaller value | -Cmd + Shift + PageDown | +-lc <type> |
+ Set "Controller.Left" property, where type is one of Booster-Grip, + Driving, Keyboard, Paddles, or Joystick. |
-rc <type> |
+ Set "Controller.Right" property, where type is one of Booster-Grip, + Driving, Keyboard, Paddles, or Joystick. | +||
-bc <type> |
+ Sets both "Controller.Left" and "Controller.Right" properties, where + type is one of Booster-Grip, Driving, Keyboard, Paddles, or Joystick. | +||
-format <NTSC|PAL> |
+ Set "Display.Format" property. | +||
-xstart <number> |
+ Set "Display.XStart" property (0 - 80). | +||
-ystart <number> |
+ Set "Display.YStart" property (0 - 64). | +||
-width <number> |
+ Set "Display.Width" property (80 - 160). | +||
-height <number> |
+ Set "Display.Height" property (100 - 256). | +||
-cpu <High|Low> |
+ Set "Emulation.CPU" property. | +||
-hmove <Yes|No> |
+ Set "Emulation.HmoveBlanks" property. | +
-
The Windows version of Stella is either commandline based or can use a GUI. -
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.
+ +Video Options dialog:
+
+
+
Audio Options dialog:
+
+
+
Game Information dialog:
+
+
+
Help dialog:
+
+
+
About dialog:
+
+
+
+
Stella will remember when you change a setting either at the command line
@@ -911,14 +894,14 @@
The Atari 2600 console controls and controllers are mapped to the computer's keyboard as shown in the following tables.
As of Stella 1.4, most of these events can be remapped to other keys on your keyboard - or buttons on your joystick (see Section 8 - + or buttons on your joystick (see Section 9 - Event Remapping). The tables below show the default settings.
@@ -927,87 +910,104 @@Function | -Key | +Key (Standard) | +Key (OSX) |
---|---|---|---|
Exit emulator (can't be remapped) | +Exit emulator | +Ctrl + q | +Cmd + q | +
Exit game mode/enter launcher mode | +Escape | Escape | |
Exit submenu in menu mode (can't be remapped) | -Escape | -||
Enter/exit menu mode (can't be remapped) | +Enter/exit options mode | +Tab | Tab |
Select Game | F1 | +F1 | |
Reset Game | F2 | +F2 | |
Color TV | F3 | +F3 | |
Black/White TV | F4 | +F4 | |
Left Player Difficulty B | F5 | +F5 | |
Left Player Difficulty A | F6 | +F6 | |
Right Player Difficulty B | F7 | +F7 | |
Right Player Difficulty A | F8 | +F8 | |
Save state to current slot | F9 | +F9 | |
Change current state slot | F10 | +F10 | |
Load state from current slot | F11 | +F11 | |
Save PNG snapshot | F12 | +F12 | |
Pause/resume emulation | Pause | +Pause(FIXME) |
Function | -Key | +Key (Standard) | +Key (OSX) |
---|---|---|---|
Set "Display.YStart" to next larger value | Alt + PageUp | +Shift-Cmd + PageUp | |
Set "Display.YStart" to next smaller value | Alt + PageDown | +Shift-Cmd + PageDown | |
Set "Display.Height" to next larger value | Control + PageUp | +Cmd + PageUp | |
Set "Display.Height" to next smaller value | Control + PageDown | +Cmd + PageDown | |
Set "Display.XStart" to next larger value | Alt + End | +Shift-Cmd + End | |
Set "Display.XStart" to next smaller value | Alt + Home | +Shift-Cmd + Home | |
Set "Display.Width" to next larger value | Control + End | +Cmd + End | |
Set "Display.Width" to next smaller value | Control + Home | +Cmd + Home |
Function | -Key | +Key (Standard) | +Key (OSX) |
---|---|---|---|
Resize window to next larger size | Alt + = | +Shift-Cmd + = | |
Resize window to next smaller size | Alt + - | +Shift-Cmd + - | |
Toggle fullscreen/windowed mode | Alt + Enter | +Shift-Cmd + Enter(FIXME) | |
Toggle OpenGL filtering modes | Alt + f | +Shift-Cmd + f | |
Increase volume | -Alt + ] | +Alt + f | +Shift-Cmd + f |
Decrease volume | Alt + [ | +Shift-Cmd + [ | |
Grab mouse (keep mouse in game window) | Control + g | -||
Hide cursor (hide cursor in game window) | -Control + h | +Cmd + g | |
Toggle display format between NTSC and PAL | Control + f | +Cmd + f | |
Save (or merge) the current properties | +Save current properties to a new properties file | Control + s | +Cmd + s | +
Merge current properties into the properties file | +Alt + s | +Shift-Cmd + s | |
Set mouse to emulate paddle 0 | Control + 0 | +Cmd + 0 | |
Set mouse to emulate paddle 1 | Control + 1 | +Cmd + 1 | |
Set mouse to emulate paddle 2 | Control + 2 | +Cmd + 2 | |
Set mouse to emulate paddle 3 | Control + 3 | +Cmd + 3 |
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 Section 7 - Keyboard Layout + joysticks/gamepads (see Section 8 - Keyboard Layout for those event which can/cannot be remapped).
To remap an event:
The following screenshots illustrate the event remapping process:
+
+
+
Stella uses game properties to specify the "best" emulator settings for a
@@ -1758,7 +1787,7 @@
Stella supports real Atari 2600 joysticks, paddles and driving controllers
@@ -1785,7 +1814,7 @@
Bradford W. Mott started developing Stella during the fall of 1995 and since
@@ -2016,7 +2045,7 @@
diff --git a/stella/src/emucore/EventHandler.cxx b/stella/src/emucore/EventHandler.cxx
index 961de7f0f..b4056e424 100644
--- a/stella/src/emucore/EventHandler.cxx
+++ b/stella/src/emucore/EventHandler.cxx
@@ -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