More documentation updates, and removal of some dead code (FIXME/TODO

messages).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1617 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2009-01-13 20:26:02 +00:00
parent 8019e877ca
commit afe8477d36
7 changed files with 106 additions and 43 deletions

View File

@ -9,7 +9,7 @@
SSSS ttt eeeee llll llll aaaaa
===============================================================================
To Do List - November 2008
To Do List - January 2009
===============================================================================
If you would like to contribute to Stella's development then find something
@ -71,7 +71,7 @@ X (4) Reload current listing (possibly tied to a RMB context menu).
* Fix Props.cxx (or GameInfoDialog) to properly deal with quotes and
backslashes in strings meant to be saved to the properties file.
* Extra controllers (KidVid, Lightgun)
* Add support for uncommon controllers (KidVid, Lightgun, etc)
* Fix "Tron Man Picture Cart" (32K Tigervision bankswitching) issue
@ -98,8 +98,6 @@ X (4) Reload current listing (possibly tied to a RMB context menu).
* Add auto-detection for all remaining bankswitch types
* Add support for uncommon controllers (KidVid, Lightgun, etc)
* Either Support DASM as frontend or integrate a 6507 Assembler
* Either Support Distella as frontend or integrate a 6507 Disassembler

View File

@ -114,7 +114,7 @@ present in the debugger):</p>
keyboard to select which tab you want to view. Pressing Shift with the left
or right arrow keys cycles between tabs from right-to-left and left-to-right,
respectively. Pressing Tab cycles between widgets in the current tab (except
for in the Prompt area, where 'tab' used for something else).</p>
for in the Prompt area, where 'tab' is used for something else).</p>
<p>You can also enter the debugger at emulator startup by giving a breakpoint on the command line:
<pre>
@ -156,20 +156,31 @@ may change in a future version of Stella.</p>
<p>This is a command-line interface, similar to the DOS DEBUG command
or Supermon for the C=64.</p>
<p>Editing keys work about like you'd expect them to: Home, End, Delete,
arrows, etc. To scroll with the keyboard, use Shift-PageUp and
Shift-PageDown or Shift-Up and Shift-Down arrow keys. You can also
scroll with the mouse. Copy and paste is not (yet?) supported.</p>
<p>Editing keys work about like you'd expect them to in Windows, but many
Bash-style commands are also supported:</p>
<p>To see the available commands, enter "help" or "?". Most commands can
be abbreviated: instead of "clearbreaks", you can type "clear" or
even just "cl". However, "c" by itself is the Toggle Carry command.</p>
<table border="1" cellpadding="3">
<tr><td>Home</td><td>Move cursor to beginning of line</td></tr>
<tr><td>End</td><td>Move cursor to end of line</td></tr>
<tr><td>Delete</td><td>Remove character to right of cursor</td></tr>
<tr><td>Backspace</td><td>Remove character to left of cursor</td></tr>
<tr><td>Control-a</td><td>Same function as 'Home'</td></tr>
<tr><td>Control-e</td><td>Same function as 'End'</td></tr>
<tr><td>Control-d</td><td>Same function as 'Delete'</td></tr>
<tr><td>Control-k</td><td>Remove all characters from cursor to end of line</td></tr>
<tr><td>Control-u</td><td>Remove all characters from cursor to beginning of line</td></tr>
<tr><td>Control-w</td><td>Remove entire word to left of cursor</td></tr>
<tr><td>Shift-PgUp</td><td>Scroll up through previous commands one screen/page</td></tr>
<tr><td>Shift-PgDown</td><td>Scroll down through previous commands one screen/page</td></tr>
<tr><td>Shift-Up</td><td>Scroll up through previous commands one line</td></tr>
<tr><td>Shift-Down</td><td>Scroll down through previous commands one line</td></tr>
<tr><td>Shift-Home</td><td>Scroll to beginning of commands</td></tr>
<tr><td>Shift-End</td><td>Scroll to end of commands</td></tr>
</table>
<p>You can also scroll with the mouse. Copy and paste is not yet supported.</p>
<p>Bash-style tab completion is supported for commands and labels (see below).
Other Bash-style commands are also supported, as follows:</p>
<ul>
<li>
</ul>
<p>To see the available commands, enter "help". Bash-style tab completion is
supported for commands and labels (see below).</p>
<p>For now, there are some functions that only exist in the prompt. We
intend to add GUI equivalents for all (or almost all?) of the prompt
@ -435,7 +446,7 @@ conditions without having to define the conditions yourself.</p>
your game's source with underscores, if you plan to use them with the
Stella debugger.</p>
<table border="1">
<table border="1" cellpadding="3">
<tr><th>Function</th><th>Definition</th><th>Description</th></tr>
<tr><td> _joy0left</td><td> !(*SWCHA &amp; $40)</td><td> Left joystick moved left</td></tr>
<tr><td> _joy0right</td><td> !(*SWCHA &amp; $80)</td><td> Left joystick moved right</td></tr>
@ -462,8 +473,20 @@ will show you a list of them.</p>
<h4>Pseudo-Registers</h4>
<p>Two "registers" are provided for you to use in your conditional breaks.
These are <b>_scan</b> and <b>_bank</b>.</p>
<p>These "registers" are provided for you to use in your conditional breaks.
They're not registers in the conventional sense, since they don't exist in
a real system. For example, while the debugger keeps track of the number
of scanlines in a frame, a real system would not (there is no register
that holds 'number of scanlines' on an actual console).</p>
<table border="1" cellpadding="3">
<tr><th>Function</th><th>Description</th></tr>
<tr><td> _scan</td><td> current scanline count</td></tr>
<tr><td> _bank</td><td> currently selected bank</td></tr>
<tr><td> _fcount</td><td> number of frames since emulation started</td></tr>
<tr><td> _cclocks</td><td> color clocks on a scanline</td></tr>
<tr><td> _vsync</td><td> whether vertical sync is enabled (1 or 0)</td></tr>
<tr><td> _vblank</td><td> whether vertical blank is enabled (1 or 0)</td></tr>
</table>
<p><b>_scan</b> always contains the current scanline count. You can use
this to break your program in the middle of your kernel. Example:</p>
@ -676,8 +699,8 @@ is, no flicker will be shown for 30Hz display, even though a real
system would alternate between drawing frames (and hence produce
flicker).</p>
<p>You can use the "Scan+1" button or the prompt "scan" command to watch
the TIA draw the frame one scanline at a time.</p>
<p>You can use the "Scan+1" button, the prompt "scan" command, or the
Alt-L key-combo to watch the TIA draw the frame one scanline at a time.</p>
<p>You can also right-click anywhere in this window to show a context menu,
as illustrated:</p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -603,7 +603,13 @@
<p><img src="graphics/rom_browser.png"></p>
<p>Once you've changed your settings, you can start emulation by selecting a ROM
and pressing 'Enter' or clicking 'Select', or double-clicking a ROM.</p>
and pressing 'Enter' or clicking 'Select', or double-clicking a ROM. Note that
some games require you to 'Reset' the console before you start playing. In this
case, you need to hit the virtual reset switch, which by default is the F2 key.
Also, some games may require that you press the joystick fire button to begin,
which by default is the Left Control/Cmd or Space key(s). If a game uses a
more complex controller, see <b>Section 7 - <a href="#Keyboard">Keyboard Layout</a></b>
for more information.</p>
<p>
<h2><b>Command Line</b></h2>
@ -1050,6 +1056,21 @@
</tr>
</table>
<p>
<h2><b>Command Menu</b></h2>
<p>Normally, one would use the keyboard shortcuts for controlling the
'virtual' switches in Stella (ie, the commands associated with the
function keys as described in <b>Section 7 - <a href="#Keyboard">Keyboard Layout</a></b>.
However, another alternative is available. Pressing the '\' key toggles
a command menu dialog as follows:</p>
<p><img src="graphics/commandmenu.png"></p>
<p>This dialog contains a set of buttons that represent the same functionality
as the function keys. You may find this useful if you cannot remember all
the function key events, or you wish to use Stella without a keyboard (ie,
in a standalone gaming system).</p>
<!-- ///////////////////////////////////////////////////////////////////////// -->
<br><br>
@ -1125,7 +1146,7 @@
<tr>
<td><img src="graphics/options_ui.png"></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td valign="top"><br>This dialog is described in further detail in
<td valign="top"><br>This tab is described in further detail in
<b>Section 9 - <a href="#ROMInfo">ROM Launcher</a></b>.</td>
</tr>
</table>
@ -1912,6 +1933,27 @@
</tr>
</table>
<p><b>UI keys in Text Editing areas (cannot be remapped)</b></p>
<table BORDER=2 cellpadding=5>
<tr><th>Key</th><th>Editor Function</th></tr>
<tr><td>Home</td><td>Move cursor to beginning of line</td></tr>
<tr><td>End</td><td>Move cursor to end of line</td></tr>
<tr><td>Delete</td><td>Remove character to right of cursor</td></tr>
<tr><td>Backspace</td><td>Remove character to left of cursor</td></tr>
<tr><td>Control-a</td><td>Same function as 'Home'</td></tr>
<tr><td>Control-e</td><td>Same function as 'End'</td></tr>
<tr><td>Control-d</td><td>Same function as 'Delete'</td></tr>
<tr><td>Control-k</td><td>Remove all characters from cursor to end of line</td></tr>
<tr><td>Control-u</td><td>Remove all characters from cursor to beginning of line</td></tr>
<tr><td>Control-w</td><td>Remove entire word to left of cursor</td></tr>
<tr><td>Control-Left</td><td>Move cursor to beginning of word to the left</td></tr>
<tr><td>Control-Right</td><td>Move cursor to beginning of word to the right</td></tr>
<tr><td>Control-c</td><td>Copy entire line to clipboard (not complete)</td></tr>
<tr><td>Control-v</td><td>Paste clipboard contents (not complete)</td></tr>
</table>
<!-- ///////////////////////////////////////////////////////////////////////// -->
<br><br><br>
<p><h1>
@ -2153,11 +2195,11 @@
<p>Stella supports a real AtariVox device for the speech/SpeakJet portion
of the controller. You will need a real AtariVox device, located
<a href=" ">here</a>,
<a href="http://www.richard.hutchinson.dsl.pipex.com/new_page_5.htm">here</a>,
as well as some means of connecting it to your computer (some sort of
serial port/USB adaptor). There should be drivers for your serial convertor,
which allow your particular operating system to 'see' the device. Configuring
this is outside the scope of this document. Once your operating system
which allow your particular operating system to 'see' the device (configuring
this is outside the scope of this document). Once your operating system
properly detects the AtariVox, you will need to tell Stella which serial
port it is connected to. This is done by using the '-avoxport' commandline
argument, or by setting it in the UI under the 'Virtual Devs' tab in
@ -2165,12 +2207,12 @@
<p>Note that you must use the entire name of the port as specified by
your operating system. For example, in Windows this would be COM1,
COM2, etc; Linux and OSX tend to use '/dev/xxxxxx'. For now, only
Linux/UNIX, OSX, and Win32 are supported.</p>
COM2, etc; Linux and OSX tend to use names similar to '/dev/xxxxxx'.
For now, only Linux/UNIX, OSX, and Win32 are supported.</p>
<p>Support for the EEPROM portion of the AtariVox and SaveKey is currently
emulated. That is, a file will be created on your computer simulating the
EEPROM; the actual EEPROM hardware itself will not be used or modified.
EEPROM; the actual EEPROM hardware itself will not be accessed or modified.
This is very useful in the testing stages of creating a new game, since
writing to a real EEPROM many times will eventually wear it out.</p>
@ -2226,7 +2268,7 @@
for more information.</li>
<li>Viewing TIA/console information overlaid on the TIA image. This option
can be enabled from the commandline or using the Alt/ShiftCmd-l key combo,
can be enabled from the commandline or using the Alt/ShiftCmd-L key combo,
and is extremely useful for viewing the current scanline count and associated
frames per second, bankswitch and display formats, etc. The following shows
an example of this information:
@ -2234,8 +2276,8 @@
<p>The three lines of output describe the following:
<ol>
<li>Number of scanlines in current frame, and associated framerate. Note
that the framerate shown is the <i>internal</i> framerate (it's
calculated from the number of scanlines).</li>
that the framerate shown is the <i>internal</i>, virtual framerate
(it's calculated from the number of scanlines).</li>
<li>Display format. If the characters 'AUTO =&gt;' are present, it means
the display format was auto-detected as shown. For the given example,
the format was auto-detected as 'NTSC'.</li>
@ -2487,7 +2529,9 @@ Ms Pac-Man (Stella extended codes):
<tr>
<td VALIGN="TOP"><i>Cartridge.Name:</i></td>
<td>Indicates the actual name of the game.</td>
<td>Indicates the actual name of the game. When you save snapshots,
load/save state files, or use the 'ROM Audit' functionality,
this is the name that will be used for the respective file(s).</td>
</tr>
<tr>
@ -2727,9 +2771,9 @@ Ms Pac-Man (Stella extended codes):
</tr>
</table>
<p>Note that to actually use the external palette, the palette file must
exist and be valid, <b>and</b> the palette option should be set to <i>user</i>.
The current ROM will have to be reloaded for changes to this file to take
effect.</p>
exist and be valid, <b>and</b> the palette option should be set to <i>user</i>
(in <b>Video Settings</b> dialog). The current ROM will have to be reloaded
for changes to this file to take effect.</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: FrameBuffer.cxx,v 1.158 2009-01-12 15:11:55 stephena Exp $
// $Id: FrameBuffer.cxx,v 1.159 2009-01-13 20:26:02 stephena Exp $
//============================================================================
#include <algorithm>
@ -173,7 +173,6 @@ void FrameBuffer::update()
// Show frame statistics
if(myStatsMsg.enabled)
{
// FIXME - sizes hardcoded for now; fix during UI refactoring
const ConsoleInfo& info = myOSystem->console().about();
char msg[30];
sprintf(msg, "%u LINES %2.2f FPS",

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: OSystem.cxx,v 1.145 2009-01-11 19:10:40 stephena Exp $
// $Id: OSystem.cxx,v 1.146 2009-01-13 20:26:02 stephena Exp $
//============================================================================
#include <cassert>
@ -319,7 +319,7 @@ void OSystem::setBaseDir(const string& basedir)
myBaseDir = basedir;
FilesystemNode node(myBaseDir);
if(!node.isDirectory())
;//FIXME SAFilesystemNode::makeDir(myBaseDir);
AbstractFilesystemNode::makeDir(myBaseDir);
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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: GameInfoDialog.cxx,v 1.63 2009-01-04 22:27:44 stephena Exp $
// $Id: GameInfoDialog.cxx,v 1.64 2009-01-13 20:26:02 stephena Exp $
//
// Based on code from ScummVM - Scumm Interpreter
// Copyright (C) 2002-2004 The ScummVM project
@ -371,7 +371,6 @@ GameInfoDialog::~GameInfoDialog()
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void GameInfoDialog::loadConfig()
{
// FIXME - check comparisons
myPropertiesLoaded = false;
myDefaultsSelected = false;