Adding '-timing' commandline argument as a setting in VideoDialog, so you
don't need to use the commandline to change it. Fixed RomAuditDialog to show more meaningful descriptions in its buttons. More documentation updates. It looks like I won't be splitting the doc into multiple HTML files for this release, but I can at least make it more descriptive (I just realized that some options in Stella have never been in the documentation at all). git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1603 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
|
@ -33,12 +33,7 @@ X * Add infrastructure to show all info gathered from a ROM (similar to what
|
||||||
is currently displayed on the commandline). Add a UI part for this, so
|
is currently displayed on the commandline). Add a UI part for this, so
|
||||||
users aren't forced to use the commandline to see it.
|
users aren't forced to use the commandline to see it.
|
||||||
|
|
||||||
* Research starting bank for 8K/F8 ROMs. Probably default should be 0
|
* Fix issue with paddle support in Activision Casino ROM.
|
||||||
instead of 1.
|
|
||||||
|
|
||||||
* Add commandline argument to randomly generate startup bank for all ROMs
|
|
||||||
bigger than 4K. Shouldn't make a difference for all 'well-designed' ROMS,
|
|
||||||
but will pick up on errors when a ROM doesn't start from every bank.
|
|
||||||
|
|
||||||
* More work to the ROM launcher, including at least the following:
|
* More work to the ROM launcher, including at least the following:
|
||||||
X (1) Only show files with certain extensions (including a UI part to
|
X (1) Only show files with certain extensions (including a UI part to
|
||||||
|
@ -52,10 +47,20 @@ X (3) Have time between keypresses be configurable when jumping to files.
|
||||||
|
|
||||||
X (4) Reload current listing (possibly tied to a RMB context menu).
|
X (4) Reload current listing (possibly tied to a RMB context menu).
|
||||||
|
|
||||||
|
* Add new TIA infrastructure with improved HMOVE emulation
|
||||||
|
|
||||||
|
* 'Fixed Debug Colours' option as explained in the 'Stella 2.6.1 released'
|
||||||
|
thread, post #40 on AtariAge. Basically emulates no$2k6 behaviour.
|
||||||
|
|
||||||
* Research lockups in Stay Frosty ROM. Test out sample state file in
|
* Research lockups in Stay Frosty ROM. Test out sample state file in
|
||||||
AtariAge email.
|
AtariAge email.
|
||||||
|
|
||||||
* Fix issue with paddle support in Activision Casino ROM.
|
* Research starting bank for 8K/F8 ROMs. Probably default should be 0
|
||||||
|
instead of 1.
|
||||||
|
|
||||||
|
* Add commandline argument to randomly generate startup bank for all ROMs
|
||||||
|
bigger than 4K. Shouldn't make a difference for all 'well-designed' ROMS,
|
||||||
|
but will pick up on errors when a ROM doesn't start from every bank.
|
||||||
|
|
||||||
* More support for copy and paste.
|
* More support for copy and paste.
|
||||||
|
|
||||||
|
@ -66,15 +71,10 @@ X (4) Reload current listing (possibly tied to a RMB context menu).
|
||||||
* Fix Props.cxx (or GameInfoDialog) to properly deal with quotes and
|
* Fix Props.cxx (or GameInfoDialog) to properly deal with quotes and
|
||||||
backslashes in strings meant to be saved to the properties file.
|
backslashes in strings meant to be saved to the properties file.
|
||||||
|
|
||||||
* 'Fixed Debug Colours' option as explained in the 'Stella 2.6.1 released'
|
|
||||||
thread, post #40 on AtariAge. Basically emulates no$2k6 behaviour.
|
|
||||||
|
|
||||||
* Extra controllers (KidVid, Lightgun)
|
* Extra controllers (KidVid, Lightgun)
|
||||||
|
|
||||||
* Fix "Tron Man Picture Cart" (32K Tigervision bankswitching) issue
|
* Fix "Tron Man Picture Cart" (32K Tigervision bankswitching) issue
|
||||||
|
|
||||||
* Add new TIA infrastructure with improved HMOVE emulation
|
|
||||||
|
|
||||||
* Possible 'trace mode' in debugger (generate a file containing all
|
* Possible 'trace mode' in debugger (generate a file containing all
|
||||||
internal state)
|
internal state)
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 5.9 KiB |
|
@ -218,12 +218,15 @@
|
||||||
software. Stella is written in C++, which allows it to be ported to other
|
software. Stella is written in C++, which allows it to be ported to other
|
||||||
operating systems and architectures. Since its original release Stella has
|
operating systems and architectures. Since its original release Stella has
|
||||||
been ported to AcornOS, AmigaOS, DOS, FreeBSD, Linux, MacOS, OpenStep, OS/2,
|
been ported to AcornOS, AmigaOS, DOS, FreeBSD, Linux, MacOS, OpenStep, OS/2,
|
||||||
Sega Dreamcast, Unix, and Windows.
|
Unix, and Windows, as well as consoles such as Sega Dreamcast, GP2X, Nintendo
|
||||||
|
DS and Playstation Portable (among others).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2><b>New in Release 2.6.1</b></h2>
|
<h2><b>New in Release 2.7</b></h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>FIXME - add info</li>
|
||||||
|
<!--
|
||||||
<li>Introduced more accurate timing for NTSC vs. PAL modes, where the
|
<li>Introduced more accurate timing for NTSC vs. PAL modes, where the
|
||||||
framerate is based on the number of scanlines per frame. This should
|
framerate is based on the number of scanlines per frame. This should
|
||||||
eliminate 'clicking' sounds when emulating ROMs that don't follow
|
eliminate 'clicking' sounds when emulating ROMs that don't follow
|
||||||
|
@ -265,6 +268,7 @@
|
||||||
|
|
||||||
<li>Fixed bug in CommandMenu where console buttons (Select, Reset, etc)
|
<li>Fixed bug in CommandMenu where console buttons (Select, Reset, etc)
|
||||||
weren't doing anything.</li>
|
weren't doing anything.</li>
|
||||||
|
-->
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
@ -288,8 +292,8 @@
|
||||||
<li>Support for real Atari 2600 controllers using the
|
<li>Support for real Atari 2600 controllers using the
|
||||||
<a href="http://www.pixelspast.com/products">Stelladaptor</a></li>
|
<a href="http://www.pixelspast.com/products">Stelladaptor</a></li>
|
||||||
<li>Support for the speech portion of a real
|
<li>Support for the speech portion of a real
|
||||||
<a href="http://www.atariage.com/store/product_info.php?products_id=295">
|
<a href="http://www.richard.hutchinson.dsl.pipex.com/new_page_5.htm">
|
||||||
AtariVox</a> device using a USB adaptor</li>
|
AtariVox</a> device connected to your PC using a USB adaptor</li>
|
||||||
<li>Supports EEPROM emulation for AtariVox and SaveKey controllers</li>
|
<li>Supports EEPROM emulation for AtariVox and SaveKey controllers</li>
|
||||||
<li>Supports almost all known bankswitching schemes (let us know if there's one we missed)</li>
|
<li>Supports almost all known bankswitching schemes (let us know if there's one we missed)</li>
|
||||||
<li>Supports cartridge autodetection for almost all bankswitching schemes</li>
|
<li>Supports cartridge autodetection for almost all bankswitching schemes</li>
|
||||||
|
@ -336,11 +340,11 @@
|
||||||
the following:</p>
|
the following:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Linux Kernel 2.4.x, Linux Kernel 2.6.x is highly recommended</li>
|
<li>Linux Kernel 2.4.x, Linux Kernel 2.6.x is highly recommended</li>
|
||||||
<li>GNU C++ compiler version 2.95 and the make utility are required for compiling
|
<li>i386 or x86_64 class machine, with 32 or 64-bit distribution</li>
|
||||||
the Stella source code; GNU C++ compiler version 3.2.x/4.x or later is highly
|
<li>Other architectures (MIPS, PPC, PPC64, etc) have been confirmed to work,
|
||||||
recommended</li>
|
but aren't as well tested as i386/x86_64</li>
|
||||||
<li>i386, x86_64 or PowerPC class machine, in either 32 or 64-bit mode</li>
|
<li>GNU C++ compiler version 3.2.x or 4.x and the make utility are required for compiling
|
||||||
<li>Other architectures (MIPS, PPC64, etc) have been confirmed to work as well</li>
|
the Stella source code</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
@ -349,11 +353,12 @@
|
||||||
<p>The Mac 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>
|
the following:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Mac OSX 10.2 or Above</li>
|
<li>Mac OSX 10.3 or Above</li>
|
||||||
<li>500 MHz G4 PPC/Intel processor or above (Stella <b>may</b> work with a G3
|
<li>500 MHz G4 PPC/Intel processor or above (Stella <b>may</b> work with a G3
|
||||||
processor, but this is still a work-in-progress)</li>
|
processor, but this is still a work-in-progress)</li>
|
||||||
<li>OpenGL capable video card. Software rendering mode is still available,
|
<li>OpenGL capable video card. Software rendering mode is still available,
|
||||||
but as of OSX 10.4 is substandard compared to OpenGL.</li>
|
but as of OSX 10.4 is substandard compared to OpenGL.</li>
|
||||||
|
<li>Xcode 3.0 is required to compile the Stella source code</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
@ -363,20 +368,22 @@
|
||||||
with the following:</p>
|
with the following:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Visual C++ 7/8 or MinGW compiler is required to compile the Stella
|
|
||||||
source code</li>
|
|
||||||
<li>Pentium class machine required; OpenGL accelerated video card highly
|
<li>Pentium class machine required; OpenGL accelerated video card highly
|
||||||
recommended</li>
|
recommended</li>
|
||||||
|
<li>Experimental 64-bit port has been tested on Vista64 only; it may work on
|
||||||
|
WinXP64 as well, but isn't a priority</li>
|
||||||
|
<li>Visual C++ 2008 or MinGW compiler is required to compile the Stella
|
||||||
|
source code</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<h2><b>Other</b></h2>
|
<h2><b>Other</b></h2>
|
||||||
|
|
||||||
<p>Stella is extremely portable, and in its lifetime has been ported to almost every
|
<p>Stella is extremely portable, and in its lifetime has been ported to almost every
|
||||||
platform known. It is 32/64 bit clean in Linux/Unix and Windows (Win32/Win64), and
|
platform where the SDL library exists. It is 32/64 bit clean in Linux/Unix and Windows
|
||||||
is expected to be compatible with 64-bit OSX as well. The Stella team is interested
|
(Win32/Win64), and is expected to be compatible with 64-bit OSX as well. The Stella
|
||||||
in hearing about any problems you may encounter with diverse operating systems and
|
team is interested in hearing about any problems you may encounter with diverse
|
||||||
CPU types.</p>
|
operating systems and CPU types.</p>
|
||||||
|
|
||||||
|
|
||||||
<!-- ///////////////////////////////////////////////////////////////////////// -->
|
<!-- ///////////////////////////////////////////////////////////////////////// -->
|
||||||
|
@ -384,9 +391,11 @@
|
||||||
<p><h1>
|
<p><h1>
|
||||||
<a name="Installation">3. Installation</a></h1>
|
<a name="Installation">3. Installation</a></h1>
|
||||||
<hr>
|
<hr>
|
||||||
<p>Stella is distributed in both source and binary form. Once you have a Stella
|
<p>Stella is distributed in both source and binary form. In general, you should always
|
||||||
distribution you should follow the instructions for your operating system given
|
download and install the appropriate binary version. Compiling from source is only
|
||||||
below.</p>
|
recommended for developers, or if the binary version doesn't work for some reason.
|
||||||
|
Once you have a Stella distribution you should follow the instructions for your
|
||||||
|
operating system given below.</p>
|
||||||
|
|
||||||
<p>If you have a supported joystick and driver installed and SDL can access the device,
|
<p>If you have a supported joystick and driver installed and SDL can access the device,
|
||||||
you can play games using joysticks.</p>
|
you can play games using joysticks.</p>
|
||||||
|
@ -397,66 +406,84 @@
|
||||||
<p>
|
<p>
|
||||||
<h2><b>Linux/UNIX</b></h2>
|
<h2><b>Linux/UNIX</b></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><b>Compressed tarball</b> (stella-<i>release</i>-src.tar.gz)</li>
|
<li><b>Binary DEB</b> (stella-<i>release</i>-1_arch.deb)
|
||||||
<ol>
|
<ol>
|
||||||
<li>Extract files from the distribution:
|
<li>Install the binary DEB with the following command:
|
||||||
<pre> tar zxvf stella-release-src.tar.gz</pre></li>
|
<pre> dpkg -i stella-<i>release</i>-1_arch.deb</pre></li>
|
||||||
<li>Change directories to the stella-<i>release</i> directory</li>
|
</ol>
|
||||||
|
</li>
|
||||||
<li>Configure the build with the following command:
|
<li><b>Binary RPM</b> (stella-<i>release</i>-1.arch.rpm)
|
||||||
<pre> ./configure (--help for list of options)</pre></li>
|
<ol>
|
||||||
<li>Build the executable with the following command:
|
<li>Install the binary RPM with the following command:
|
||||||
<pre> make</pre></li>
|
<pre> rpm -Uvh stella-<i>release</i>-1.arch.rpm</pre></li>
|
||||||
<li>Install the executable with the following command:
|
</ol>
|
||||||
<pre> make install</pre></li>
|
</li>
|
||||||
</ol>
|
<li><b>Compressed tarball : building from source code</b> (stella-<i>release</i>-src.tar.gz)
|
||||||
<li><b>Binary DEB</b> (stella-<i>release</i>-1_arch.deb)</li>
|
<ol>
|
||||||
<ol>
|
<li>Extract files from the distribution:
|
||||||
<li>Install the binary DEB with the following command:
|
<pre> tar zxvf stella-release-src.tar.gz</pre></li>
|
||||||
<pre> dpkg -i stella-<i>release</i>-1_arch.deb</pre></li>
|
<li>Change directories to the stella-<i>release</i> directory</li>
|
||||||
</ol>
|
<li>Configure the build with the following command:
|
||||||
<li><b>Binary RPM</b> (stella-<i>release</i>-1.ix86.rpm)</li>
|
<pre> ./configure (--help for list of options)</pre></li>
|
||||||
<ol>
|
<li>Build the executable with the following command:
|
||||||
<li>Install the binary RPM with the following command:
|
<pre> make</pre></li>
|
||||||
<pre> rpm -Uvh stella-<i>release</i>-1.ix86.rpm</pre></li>
|
<li>Install the executable with the following command:
|
||||||
</ol>
|
<pre> make install</pre></li>
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<h2><b>Macintosh</b></h2>
|
<h2><b>Macintosh</b></h2>
|
||||||
|
<ul>
|
||||||
<p>To install the Mac binary, simply download the DMG disk
|
<li><b>Binary DMG file</b> (StellaOSX<i>release</i>.dmg)
|
||||||
image. Mount the disk image, then copy the StellaOSX<i>release</i> folder to
|
<ol>
|
||||||
your hard drive.<br>
|
<li>Mount the disk image, then copy the StellaOSX<i>release</i> folder to
|
||||||
</p>
|
your hard drive.</li>
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
|
<li><b>Compressed tarball : building from source code</b> (stella-<i>release</i>-src.tar.gz)
|
||||||
|
<ol>
|
||||||
|
<li>Extract files from the distribution using an archiving program that supports
|
||||||
|
gzipped tar files</li>
|
||||||
|
<li>Open the <b>stella-<i>release</i>/src/macosx/stella.xcodeproj</b>
|
||||||
|
file using Xcode 3.0</li>
|
||||||
|
<li>Build the 'Stella' project</li>
|
||||||
|
<li>Copy the <b>StellaOSX.app</b> package somewhere on your system</li>
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<h2><b>Windows</b></h2>
|
<h2><b>Windows</b></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><b>Compressed tarball</b> (stella-<i>release</i>-src.tar.gz)</li>
|
<li><b>Binary EXE installer</b> (stella-<i>release</i>-win32.exe)
|
||||||
<ol>
|
<ol>
|
||||||
<li>Extract files from the distribution using <b>Winzip</b>,
|
<li>Double-click on the installer and follow the onscreen instructions</li>
|
||||||
<b>Total Commander</b>, or some other archiving program that supports
|
</ol>
|
||||||
gzipped tar files</li>
|
</li>
|
||||||
<li>If compiling the Stella executable using MinGW, use the same commands
|
<li><b>Binary ZIP file</b> (stella-<i>release</i>-win32.zip)
|
||||||
as specified under <i>Linux/UNIX - Compressed tarball</i></li>
|
<ol>
|
||||||
<li>If compiling using Visual C++ 7:</li>
|
<li>Unzip the binary ZIP file using <b>Winzip</b> or <b>Total Commander</b>
|
||||||
<ul>
|
and copy that directory somewhere</li>
|
||||||
<li>Open the <b>stella-<i>release</i>/src/win32/Stella.sln</b>
|
</ol>
|
||||||
file using Visual C++ 7</li>
|
</li>
|
||||||
<li>Build the 'Stella' solution</li>
|
<li><b>Compressed tarball : building from source code</b> (stella-<i>release</i>-src.tar.gz)
|
||||||
<li>Copy the <b>Stella.exe</b> file to some directory</li>
|
<ol>
|
||||||
</ul>
|
<li>Extract files from the distribution using <b>Winzip</b>,
|
||||||
</ol>
|
<b>Total Commander</b>, or some other archiving program that supports
|
||||||
<li><b>Binary ZIP file</b> (stella-<i>release</i>-win32.zip)</li>
|
gzipped tar files</li>
|
||||||
<ol>
|
<li>If compiling the Stella executable using MinGW, use the same commands
|
||||||
<li>Unzip the binary ZIP file using <b>Winzip</b> or <b>Total Commander</b>
|
as specified under <i>Linux/UNIX - Compressed tarball</i></li>
|
||||||
and copy that directory somewhere</li>
|
<li>If compiling using Visual C++ 7:</li>
|
||||||
</ol>
|
<ul>
|
||||||
<li><b>Binary EXE installer</b> (stella-<i>release</i>-win32.exe)</li>
|
<li>Open the <b>stella-<i>release</i>/src/win32/Stella.sln</b>
|
||||||
<ol>
|
file using Visual C++ 7</li>
|
||||||
<li>Double-click on the installer and follow the onscreen instructions</li>
|
<li>Build the 'Stella' solution</li>
|
||||||
</ol>
|
<li>Copy the <b>Stella.exe</b> file somewhere on your system</li>
|
||||||
|
</ul>
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
@ -539,30 +566,49 @@
|
||||||
<p>
|
<p>
|
||||||
<h2><b>Integrated GUI</b></h2>
|
<h2><b>Integrated GUI</b></h2>
|
||||||
|
|
||||||
<p>As of Stella version 2.0, there is an integrated GUI for all ports. This means
|
<p>Stella contains an integrated GUI for all ports. Commandline support is also
|
||||||
that using the commandline is no longer required (but commandline support is still
|
available for those who want to use it.</p>
|
||||||
included for those who want to use it).</p>
|
|
||||||
|
|
||||||
<p>If you start Stella and do not specify a ROM image, it will start in
|
<p>If you start Stella and do not specify a ROM image, it will start in
|
||||||
'ROM Launcher' mode:<br><br>
|
'ROM Launcher' mode:<br><br>
|
||||||
<img src="graphics/launcher.png"></p>
|
<img src="graphics/launcher.png"></p>
|
||||||
|
|
||||||
<p>The ROM browser, snapshot, and external file settings may be changed by
|
<p>If this is your first time starting Stella, you'll probably want to set the locations
|
||||||
clicking the 'Options / Config Files' button:<br><br>
|
for ROM files, snapshots, and other external paths. These items are accessible by clicking
|
||||||
<img src="graphics/launcher_options_files.png"></p>
|
the <b>Options => Config Files</b> buttons. Many other options can be set here,
|
||||||
|
but for now we'll concentrate on <i>Config Files</i> only:</p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td><p><b>Config Files</b> dialog:</p><p><img src="graphics/launcher_options_files.png"></p></td>
|
||||||
|
<td> </td>
|
||||||
|
<td valign="top">
|
||||||
|
<table border="1" cellpadding="4">
|
||||||
|
<tr><th>Item</th><th>Description</th><th>Commandline</th></tr>
|
||||||
|
<tr><td>Rom path</td><td>specifies location of ROM files</td><td>-romdir</td></tr>
|
||||||
|
<tr><td>State path</td><td>specifies location of state files</td><td>-statedir</td></tr>
|
||||||
|
<tr><td>Cheat file</td><td>specifies location of cheatfile database</td><td>-cheatfile</td></tr>
|
||||||
|
<tr><td>Palette file</td><td>specifies location of user palette</td><td>-palettefile</td></tr>
|
||||||
|
<tr><td>Properties file </td><td>specifies location of external stella.pro database</td><td>-propsfile</td></tr>
|
||||||
|
<tr><td>Snapshot path</td><td>specifies where to load/save snapshots</td><td>-ssdir</td></tr>
|
||||||
|
<tr><td>Multiple snapshots</td><td>whether to overwrite old snapshots</td><td>-sssingle</td></tr>
|
||||||
|
<tr><td>Snapshot in 1x mode</td><td>save snapshot in 1x mode, without filtering</td><td>-ss1x</td></tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
<p>Selecting a new path for an item is done by clicking the appropriate button(s):<br><br>
|
<p>Selecting a new path for an item is done by clicking the appropriate button(s)
|
||||||
<img src="graphics/rom_browser.png"></p>
|
(in this case, 'Rom path' was selected):</p>
|
||||||
|
<p><img src="graphics/rom_browser.png"></p>
|
||||||
|
|
||||||
<p>You can start emulation by selecting a ROM and pressing 'Enter' or
|
<p>Once you've changed your settings, you can start emulation by selecting a ROM
|
||||||
clicking 'Select', or double-clicking a ROM.</p>
|
and pressing 'Enter' or clicking 'Select', or double-clicking a ROM.</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<h2><b>Command Line</b></h2>
|
<h2><b>Command Line</b></h2>
|
||||||
|
|
||||||
<p>Stella can also be used from the commandline (assuming your operating system
|
<p>Stella can also be used from the commandline (assuming your operating system
|
||||||
has a commandline). When using this mode and specifying a ROM, the ROM launcher
|
has a commandline).</p>
|
||||||
is disabled.</p>
|
|
||||||
|
|
||||||
<p>To run Stella from the commandline, use the following format:</p>
|
<p>To run Stella from the commandline, use the following format:</p>
|
||||||
|
|
||||||
|
@ -1005,15 +1051,14 @@
|
||||||
<a name="Options">6. Changing Options</a></h1>
|
<a name="Options">6. Changing Options</a></h1>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<p>As of version 2.0, all settings can be changed within the integrated Options
|
<p>All settings can be changed within the integrated Options UI while Stella is
|
||||||
GUI while Stella is running. The options are documented elsewhere in this manual
|
running (unless otherwise noted - some settings require an application restart).
|
||||||
and are generally self-explanatory. The Options menu can be accessed from
|
The Options menu can be accessed from the ROM launcher by clicking the
|
||||||
the ROM launcher by clicking the 'Options' button, or in-game by pressing the
|
<b>Options</b> button, or in-game by pressing the 'Tab' key.</p>
|
||||||
'Tab' key.</p>
|
|
||||||
|
|
||||||
<p><b>Options Menu</b> dialog:<br><br>
|
<p><b>Options Menu</b> dialog:<br><br>
|
||||||
<img src="graphics/options.png">
|
<img src="graphics/options.png">
|
||||||
<br><br><br>
|
<br><br>
|
||||||
|
|
||||||
<p><b>Video Settings</b> dialog:<br><br>
|
<p><b>Video Settings</b> dialog:<br><br>
|
||||||
<img src="graphics/options_video.png">
|
<img src="graphics/options_video.png">
|
||||||
|
@ -2103,11 +2148,9 @@
|
||||||
the format was auto-detected as 'NTSC'.</li>
|
the format was auto-detected as 'NTSC'.</li>
|
||||||
<li>Cartridge information. If the characters 'AUTO =>' are present,
|
<li>Cartridge information. If the characters 'AUTO =>' are present,
|
||||||
it means the bankswitch format was auto-detected as shown. The item
|
it means the bankswitch format was auto-detected as shown. The item
|
||||||
in round brackets indicates ROM size. The item in square brackets
|
in round brackets indicates ROM size. For the given example,
|
||||||
indicates the starting bank(s) used by the cart.
|
the bankswitch type was auto-detected as 4K, and the file size was
|
||||||
For the given example, the bankswitch type was auto-detected as 4K,
|
4K (4096 bytes).</li>
|
||||||
the file size was 4K (4096 bytes), and the start bank was 0
|
|
||||||
(since a 4K ROM has only one bank). FIXME - image must be updated</li>
|
|
||||||
</li>
|
</li>
|
||||||
</ol></p></li>
|
</ol></p></li>
|
||||||
</ul></p>
|
</ul></p>
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: Cart.cxx,v 1.46 2009-01-01 18:13:35 stephena Exp $
|
// $Id: Cart.cxx,v 1.47 2009-01-06 23:02:18 stephena Exp $
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
@ -489,4 +489,4 @@ Cartridge& Cartridge::operator = (const Cartridge&)
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
string Cartridge::myAboutString;
|
string Cartridge::myAboutString= "";
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: Dialog.cxx,v 1.74 2009-01-01 18:13:38 stephena Exp $
|
// $Id: Dialog.cxx,v 1.75 2009-01-06 23:02:18 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -567,27 +567,32 @@ Widget* Dialog::findWidget(int x, int y)
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void Dialog::addOKCancelBGroup(WidgetArray& wid, const GUI::Font& font)
|
void Dialog::addOKCancelBGroup(WidgetArray& wid, const GUI::Font& font,
|
||||||
|
const string& okText, const string& cancelText)
|
||||||
{
|
{
|
||||||
int buttonWidth = font.getStringWidth("Cancel") + 15;
|
int buttonWidth = font.getStringWidth("Cancel") + 15;
|
||||||
int buttonHeight = font.getLineHeight() + 4;
|
int buttonHeight = font.getLineHeight() + 4;
|
||||||
ButtonWidget* b;
|
ButtonWidget* b;
|
||||||
#ifndef MAC_OSX
|
#ifndef MAC_OSX
|
||||||
b = new ButtonWidget(this, font, _w - 2 * (buttonWidth + 7), _h - buttonHeight - 10,
|
b = new ButtonWidget(this, font, _w - 2 * (buttonWidth + 7), _h - buttonHeight - 10,
|
||||||
buttonWidth, buttonHeight, "OK", kOKCmd);
|
buttonWidth, buttonHeight,
|
||||||
|
okText == "" ? "OK" : okText, kOKCmd);
|
||||||
wid.push_back(b);
|
wid.push_back(b);
|
||||||
addOKWidget(b);
|
addOKWidget(b);
|
||||||
b = new ButtonWidget(this, font, _w - (buttonWidth + 10), _h - buttonHeight - 10,
|
b = new ButtonWidget(this, font, _w - (buttonWidth + 10), _h - buttonHeight - 10,
|
||||||
buttonWidth, buttonHeight, "Cancel", kCloseCmd);
|
buttonWidth, buttonHeight,
|
||||||
|
cancelText == "" ? "Cancel" : cancelText, kCloseCmd);
|
||||||
wid.push_back(b);
|
wid.push_back(b);
|
||||||
addCancelWidget(b);
|
addCancelWidget(b);
|
||||||
#else
|
#else
|
||||||
b = new ButtonWidget(this, font, _w - 2 * (buttonWidth + 7), _h - buttonHeight - 10,
|
b = new ButtonWidget(this, font, _w - 2 * (buttonWidth + 7), _h - buttonHeight - 10,
|
||||||
buttonWidth, buttonHeight, "Cancel", kCloseCmd);
|
buttonWidth, buttonHeight,
|
||||||
|
cancelText == "" ? "Cancel" : cancelText, kCloseCmd);
|
||||||
wid.push_back(b);
|
wid.push_back(b);
|
||||||
addCancelWidget(b);
|
addCancelWidget(b);
|
||||||
b = new ButtonWidget(this, font, _w - (buttonWidth + 10), _h - buttonHeight - 10,
|
b = new ButtonWidget(this, font, _w - (buttonWidth + 10), _h - buttonHeight - 10,
|
||||||
buttonWidth, buttonHeight, "OK", kOKCmd);
|
buttonWidth, buttonHeight,
|
||||||
|
okText == "" ? "OK" : okText, kOKCmd);
|
||||||
wid.push_back(b);
|
wid.push_back(b);
|
||||||
addOKWidget(b);
|
addOKWidget(b);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: Dialog.hxx,v 1.42 2009-01-01 18:13:38 stephena Exp $
|
// $Id: Dialog.hxx,v 1.43 2009-01-06 23:02:18 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -47,7 +47,7 @@ class TabWidget;
|
||||||
This is the base class for all dialog boxes.
|
This is the base class for all dialog boxes.
|
||||||
|
|
||||||
@author Stephen Anthony
|
@author Stephen Anthony
|
||||||
@version $Id: Dialog.hxx,v 1.42 2009-01-01 18:13:38 stephena Exp $
|
@version $Id: Dialog.hxx,v 1.43 2009-01-06 23:02:18 stephena Exp $
|
||||||
*/
|
*/
|
||||||
class Dialog : public GuiObject
|
class Dialog : public GuiObject
|
||||||
{
|
{
|
||||||
|
@ -106,7 +106,9 @@ class Dialog : public GuiObject
|
||||||
|
|
||||||
Widget* findWidget(int x, int y); // Find the widget at pos x,y if any
|
Widget* findWidget(int x, int y); // Find the widget at pos x,y if any
|
||||||
|
|
||||||
void addOKCancelBGroup(WidgetArray& wid, const GUI::Font& font);
|
void addOKCancelBGroup(WidgetArray& wid, const GUI::Font& font,
|
||||||
|
const string& okText = "",
|
||||||
|
const string& cancelText = "");
|
||||||
|
|
||||||
void setResult(int result) { _result = result; }
|
void setResult(int result) { _result = result; }
|
||||||
int getResult() const { return _result; }
|
int getResult() const { return _result; }
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: RomAuditDialog.cxx,v 1.10 2009-01-05 19:44:30 stephena Exp $
|
// $Id: RomAuditDialog.cxx,v 1.11 2009-01-06 23:02:18 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -86,7 +86,7 @@ RomAuditDialog::RomAuditDialog(OSystem* osystem, DialogContainer* parent,
|
||||||
|
|
||||||
// Add OK and Cancel buttons
|
// Add OK and Cancel buttons
|
||||||
wid.clear();
|
wid.clear();
|
||||||
addOKCancelBGroup(wid, font);
|
addOKCancelBGroup(wid, font, "Audit", "Done");
|
||||||
addBGroupToFocusList(wid);
|
addBGroupToFocusList(wid);
|
||||||
|
|
||||||
// Create file browser dialog
|
// Create file browser dialog
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: VideoDialog.cxx,v 1.60 2009-01-04 22:27:44 stephena Exp $
|
// $Id: VideoDialog.cxx,v 1.61 2009-01-06 23:02:18 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -55,7 +55,7 @@ VideoDialog::VideoDialog(OSystem* osystem, DialogContainer* parent,
|
||||||
|
|
||||||
// Set real dimensions
|
// Set real dimensions
|
||||||
_w = 46 * fontWidth + 10;
|
_w = 46 * fontWidth + 10;
|
||||||
_h = 11 * (lineHeight + 4) + 10;
|
_h = 12 * (lineHeight + 4) + 10;
|
||||||
|
|
||||||
xpos = 5; ypos = 10;
|
xpos = 5; ypos = 10;
|
||||||
|
|
||||||
|
@ -104,6 +104,15 @@ VideoDialog::VideoDialog(OSystem* osystem, DialogContainer* parent,
|
||||||
wid.push_back(myFSResPopup);
|
wid.push_back(myFSResPopup);
|
||||||
ypos += lineHeight + 4;
|
ypos += lineHeight + 4;
|
||||||
|
|
||||||
|
// Timing to use between frames
|
||||||
|
items.clear();
|
||||||
|
items.push_back("Sleep", "sleep");
|
||||||
|
items.push_back("Busy-wait", "busy");
|
||||||
|
myFrameTimingPopup = new PopUpWidget(this, font, xpos, ypos, pwidth, lineHeight,
|
||||||
|
items, "Timing (*): ", lwidth);
|
||||||
|
wid.push_back(myFrameTimingPopup);
|
||||||
|
ypos += lineHeight + 4;
|
||||||
|
|
||||||
// GL Video filter
|
// GL Video filter
|
||||||
items.clear();
|
items.clear();
|
||||||
items.push_back("Linear", "linear");
|
items.push_back("Linear", "linear");
|
||||||
|
@ -235,9 +244,13 @@ void VideoDialog::loadConfig()
|
||||||
myFSResPopup->setSelected(
|
myFSResPopup->setSelected(
|
||||||
instance().settings().getString("fullres"), "auto");
|
instance().settings().getString("fullres"), "auto");
|
||||||
|
|
||||||
|
// Wait between frames
|
||||||
|
myFrameTimingPopup->setSelected(
|
||||||
|
instance().settings().getString("timing"), "sleep");
|
||||||
|
|
||||||
// GL Filter setting
|
// GL Filter setting
|
||||||
myGLFilterPopup->setSelected(
|
myGLFilterPopup->setSelected(
|
||||||
instance().settings().getString("gl_filter"), "linear");
|
instance().settings().getString("gl_filter"), "nearest");
|
||||||
myGLFilterPopup->setEnabled(gl);
|
myGLFilterPopup->setEnabled(gl);
|
||||||
|
|
||||||
// GL aspect ratio setting
|
// GL aspect ratio setting
|
||||||
|
@ -286,6 +299,9 @@ void VideoDialog::saveConfig()
|
||||||
// Fullscreen resolution
|
// Fullscreen resolution
|
||||||
instance().settings().setString("fullres", myFSResPopup->getSelectedTag());
|
instance().settings().setString("fullres", myFSResPopup->getSelectedTag());
|
||||||
|
|
||||||
|
// Wait between frames
|
||||||
|
instance().settings().setString("timing", myFrameTimingPopup->getSelectedTag());
|
||||||
|
|
||||||
// GL Filter setting
|
// GL Filter setting
|
||||||
instance().settings().setString("gl_filter", myGLFilterPopup->getSelectedTag());
|
instance().settings().setString("gl_filter", myGLFilterPopup->getSelectedTag());
|
||||||
|
|
||||||
|
@ -333,7 +349,8 @@ void VideoDialog::setDefaults()
|
||||||
#endif
|
#endif
|
||||||
myTIAPalettePopup->setSelected("standard", "");
|
myTIAPalettePopup->setSelected("standard", "");
|
||||||
myFSResPopup->setSelected("auto", "");
|
myFSResPopup->setSelected("auto", "");
|
||||||
myGLFilterPopup->setSelected("linear", "");
|
myFrameTimingPopup->setSelected("sleep", "");
|
||||||
|
myGLFilterPopup->setSelected("nearest", "");
|
||||||
myAspectRatioSlider->setValue(100);
|
myAspectRatioSlider->setValue(100);
|
||||||
myAspectRatioLabel->setLabel("100");
|
myAspectRatioLabel->setLabel("100");
|
||||||
myFrameRateSlider->setValue(0);
|
myFrameRateSlider->setValue(0);
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// See the file "license" for information on usage and redistribution of
|
// See the file "license" for information on usage and redistribution of
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||||
//
|
//
|
||||||
// $Id: VideoDialog.hxx,v 1.28 2009-01-04 22:27:44 stephena Exp $
|
// $Id: VideoDialog.hxx,v 1.29 2009-01-06 23:02:18 stephena Exp $
|
||||||
//
|
//
|
||||||
// Based on code from ScummVM - Scumm Interpreter
|
// Based on code from ScummVM - Scumm Interpreter
|
||||||
// Copyright (C) 2002-2004 The ScummVM project
|
// Copyright (C) 2002-2004 The ScummVM project
|
||||||
|
@ -54,6 +54,7 @@ class VideoDialog : public Dialog
|
||||||
PopUpWidget* myTIAFilterPopup;
|
PopUpWidget* myTIAFilterPopup;
|
||||||
PopUpWidget* myTIAPalettePopup;
|
PopUpWidget* myTIAPalettePopup;
|
||||||
PopUpWidget* myFSResPopup;
|
PopUpWidget* myFSResPopup;
|
||||||
|
PopUpWidget* myFrameTimingPopup;
|
||||||
PopUpWidget* myGLFilterPopup;
|
PopUpWidget* myGLFilterPopup;
|
||||||
SliderWidget* myAspectRatioSlider;
|
SliderWidget* myAspectRatioSlider;
|
||||||
StaticTextWidget* myAspectRatioLabel;
|
StaticTextWidget* myAspectRatioLabel;
|
||||||
|
|