mirror of https://github.com/stella-emu/stella.git
When starting Stella for the first time (ie, when the ROM directory hasn't
been chosen), a dialog box now appears, asking the user to enter the default directory. This directory will appear each time the ROM launcher is entered, until the user selects a directory. This will hopefully eliminate bug reports from users that don't know what to do when first starting Stella. Big changes to the manual, separating the necessary, up-front information from the advanced stuff that can be considered later (or not at all). Also added more links to ease navigation. This should make the manual more readable for those that have complained it's too long. The setting for TV color type is now 'Color' and 'BW', instead of 'BlackAndWhite', as before. The old one will continue to work, though. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2059 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
78fd3c0c7d
commit
c3f5aa2810
|
@ -50,7 +50,7 @@ feature that no other 2600 debugger has; it's <b>completely</b> cross-platform.<
|
|||
|
||||
<li>Built-in VCS.H symbols, if no symbol file is loaded.</li>
|
||||
|
||||
<li><strike>Symbolic names in disassembly.</strike> <b>Note:</b> Disabled until a future release</li>
|
||||
<li>Symbolic names in disassembly.</li>
|
||||
|
||||
<li>Symbolic names accepted as input.</li>
|
||||
<li>Tab completion for commands, symbol names and functions.</li>
|
||||
|
@ -925,11 +925,9 @@ decreased by 1:</p>
|
|||
<!-- ///////////////////////////////////////////////////////////////////////// -->
|
||||
<br>
|
||||
<h2><u>(M)</u> ROM Listing</h2>
|
||||
<p>The ROM Widget is a disassembly of the current bank of ROM. <strike>If a symbol
|
||||
file is loaded, the disassembly will have labels.</strike>. For now, labels
|
||||
from a symbol file are not shown in the disasembly; this feature will return
|
||||
in a future release. Even without a symbol file, the standard TIA/RIOT labels
|
||||
will still be present.</p>
|
||||
<p>The ROM Widget is a disassembly of the current bank of ROM. If a symbol
|
||||
file is loaded, the disassembly will have labels. Even without a symbol file, the standard
|
||||
TIA/RIOT labels will still be present.</p>
|
||||
<p><img src="graphics/debugger_rom.png"></p>
|
||||
|
||||
<p>The top area contains two items:
|
||||
|
|
1804
docs/index.html
1804
docs/index.html
File diff suppressed because it is too large
Load Diff
|
@ -95,7 +95,7 @@ Settings::Settings(OSystem* osystem)
|
|||
setInternal("ssinterval", "2");
|
||||
|
||||
// Config files and paths
|
||||
setInternal("romdir", "~");
|
||||
setInternal("romdir", "");
|
||||
setInternal("statedir", "");
|
||||
setInternal("cheatfile", "");
|
||||
setInternal("palettefile", "");
|
||||
|
|
|
@ -204,7 +204,7 @@ GameInfoDialog::GameInfoDialog(
|
|||
"TV Type:", kTextAlignLeft);
|
||||
items.clear();
|
||||
items.push_back("Color", "COLOR");
|
||||
items.push_back("B & W", "BLACKANDWHITE");
|
||||
items.push_back("B & W", "BW");
|
||||
myTVType = new PopUpWidget(myTab, font, xpos+lwidth, ypos,
|
||||
pwidth, lineHeight, items, "", 0, 0);
|
||||
wid.push_back(myTVType);
|
||||
|
|
|
@ -131,7 +131,7 @@ GlobalPropsDialog::
|
|||
items.clear();
|
||||
items.push_back("Default", "DEFAULT");
|
||||
items.push_back("Color", "COLOR");
|
||||
items.push_back("B & W", "BLACKANDWHITE");
|
||||
items.push_back("B & W", "BW");
|
||||
myTVType = new PopUpWidget(this, font, xpos+lwidth, ypos,
|
||||
pwidth, lineHeight, items, "", 0, 0);
|
||||
wid.push_back(myTVType);
|
||||
|
|
|
@ -61,6 +61,7 @@ LauncherDialog::LauncherDialog(OSystem* osystem, DialogContainer* parent,
|
|||
myMenu(NULL),
|
||||
myGlobalProps(NULL),
|
||||
myFilters(NULL),
|
||||
myRomDir(NULL),
|
||||
mySelectedItem(0)
|
||||
{
|
||||
const GUI::Font& font = instance().launcherFont();
|
||||
|
@ -191,8 +192,7 @@ LauncherDialog::LauncherDialog(OSystem* osystem, DialogContainer* parent,
|
|||
// ROM properties
|
||||
myGlobalProps = new GlobalPropsDialog(this, osystem->font());
|
||||
|
||||
// Create dialog whereby the files shown in the ROM listing can be
|
||||
// customized
|
||||
// Create dialog whereby the files shown in the ROM listing can be customized
|
||||
myFilters = new LauncherFilterDialog(this, osystem->font());
|
||||
|
||||
// Figure out which filters are needed for the ROM listing
|
||||
|
@ -207,6 +207,7 @@ LauncherDialog::~LauncherDialog()
|
|||
delete myMenu;
|
||||
delete myGlobalProps;
|
||||
delete myFilters;
|
||||
delete myRomDir;
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
@ -230,8 +231,21 @@ string LauncherDialog::selectedRomMD5()
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
void LauncherDialog::loadConfig()
|
||||
{
|
||||
const string& romdir = instance().settings().getString("romdir");
|
||||
|
||||
// When romdir hasn't been set, it probably indicates that this is the first
|
||||
// time running Stella; in this case, we should prompt the user
|
||||
if(romdir == "")
|
||||
{
|
||||
if(!myRomDir)
|
||||
myRomDir = new BrowserDialog(this, instance().font(), _w, _h);
|
||||
|
||||
myRomDir->show("First startup -> Select ROM directory:", romdir,
|
||||
FilesystemNode::kListDirectoriesOnly, kStartupRomDirChosenCmd);
|
||||
}
|
||||
|
||||
// Assume that if the list is empty, this is the first time that loadConfig()
|
||||
// has been called (and we should reload the list).
|
||||
// has been called (and we should reload the list)
|
||||
if(myList->getList().isEmpty())
|
||||
{
|
||||
myPrevDirButton->setEnabled(false);
|
||||
|
@ -503,7 +517,7 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
if(!myNodeNames.empty())
|
||||
dirname = myNodeNames.pop();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
myCurrentNode = FilesystemNode(rom);
|
||||
myNodeNames.push(myGameList->name(item));
|
||||
|
@ -551,6 +565,12 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd,
|
|||
instance().eventHandler().quit();
|
||||
break;
|
||||
|
||||
case kStartupRomDirChosenCmd:
|
||||
{
|
||||
FilesystemNode dir(myRomDir->getResult());
|
||||
instance().settings().setString("romdir", dir.getRelativePath());
|
||||
// fall through to the next case
|
||||
}
|
||||
case kRomDirChosenCmd:
|
||||
myCurrentNode = FilesystemNode(instance().settings().getString("romdir"));
|
||||
if(!(myCurrentNode.exists() && myCurrentNode.isDirectory()))
|
||||
|
|
|
@ -30,6 +30,7 @@ class CommandSender;
|
|||
class ContextMenu;
|
||||
class DialogContainer;
|
||||
class GameList;
|
||||
class BrowserDialog;
|
||||
class OptionsDialog;
|
||||
class GlobalPropsDialog;
|
||||
class LauncherFilterDialog;
|
||||
|
@ -102,6 +103,7 @@ class LauncherDialog : public Dialog
|
|||
ContextMenu* myMenu;
|
||||
GlobalPropsDialog* myGlobalProps;
|
||||
LauncherFilterDialog* myFilters;
|
||||
BrowserDialog* myRomDir;
|
||||
|
||||
int mySelectedItem;
|
||||
int myRomInfoSize;
|
||||
|
@ -115,7 +117,9 @@ class LauncherDialog : public Dialog
|
|||
kStartCmd = 'STRT',
|
||||
kPrevDirCmd = 'PRVD',
|
||||
kOptionsCmd = 'OPTI',
|
||||
kQuitCmd = 'QUIT'
|
||||
kQuitCmd = 'QUIT',
|
||||
|
||||
kStartupRomDirChosenCmd = 'rmsc'
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -26,10 +26,7 @@ SettingsWin32::SettingsWin32(OSystem* osystem)
|
|||
: Settings(osystem)
|
||||
{
|
||||
setInternal("gl_lib", "opengl32.dll");
|
||||
// Anything less than this usually causes sound skipping
|
||||
setInternal("fragsize", "2048");
|
||||
// Most Windows systems work better without this
|
||||
setInternal("romdir", "c:\\");
|
||||
setInternal("fragsize", "512");
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
|
Loading…
Reference in New Issue