Renamed 'eepromdir' option to 'nvramdir', and have it default to

'BASEDIR'/nvram.  Previously it defaulted to BASEDIR, which was getting
filled with many such files.

Unfortunely, all files will have to moved manually, but it's an easy
one-time operation.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2613 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2013-02-17 00:19:14 +00:00
parent c11c7724ad
commit 6279c24b57
11 changed files with 57 additions and 48 deletions

View File

@ -30,8 +30,8 @@
* Many changes to handling ZIP archives:
- Files in multiple levels are now recognized. This fixes issues
in Windows where such files couldn't be loaded at all, and in all
systems where ROMs with the same name (but different directories)
weren't being recognized.
systems where ROMs with the same name (but in different
directories) weren't being recognized.
- ZIP contents are now handled more intelligently. Archives
containing only one ROM are automatically loaded, whereas those
with multiple files are treated as directories.
@ -42,7 +42,7 @@
of caching (the old code was actually from 1998!).
- This new 'archive' infrastructure may eventually lead to 7-Zip
support, as well as 'virtual' formats (such as showing the list
of files for 2in1/4in1/8in1/etc within the UI.
of files for 2in1/4in1/8in1/etc within the UI).
* Improved bankswitch autodetection for X07 ROMs (although there's only
two known ROMs in existence, so the detection probably isn't robust).
@ -58,6 +58,13 @@
commandline arguments (which replace the old 'snapdir'), and are
also available within the UI.
* Changed 'eepromdir' commandline argument to 'nvramdir', and changed
the default location to BASEDIR/nvram (where BASEDIR depends on your
OS). This means all your EEPROM and Flash files will have to be
manually moved to this new directory. This affects developers, and
those people playing ROMs with AtariVox/SaveKey support as well as
the newer 'Star Castle' FA2 ROMs.
* Updated included PNG and ZLIB libraries to latest stable version.
-Have fun!

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@ -271,7 +271,8 @@
<a href="http://www.richard.hutchinson.dsl.pipex.com/new_page_5.htm">
AtariVox</a> device connected to your PC using a USB adaptor</li>
<li>Supports EEPROM emulation for <a href="http://www.richard.hutchinson.dsl.pipex.com/new_page_5.htm">
AtariVox</a> and <a href="http://www.vectrex.biz/MemCard.htm">SaveKey</a> controllers</li>
AtariVox</a> and <a href="http://www.vectrex.biz/MemCard.htm">SaveKey</a> controllers,
as well as FLASH support in various cartridge schemes</li>
<li>Supports all known bankswitching schemes (let us know if there's one we missed)</li>
<li>Supports DPC+ bankswitching scheme from the <a href="http://harmony.atariage.com">Harmony Cart</a>,
including <a href="http://thumbulator.blogspot.ca">partial emulation of the ARM processor</a></li>
@ -2213,8 +2214,8 @@
</tr>
<tr>
<td><pre>-eepromdir &lt;dir&gt;</pre></td>
<td>Set the directory in which to access EEPROM files.</td>
<td><pre>-nvramdir &lt;dir&gt;</pre></td>
<td>Set the directory in which to access non-volatile (flash/EEPROM) files.</td>
</tr>
<tr>
@ -2563,7 +2564,7 @@
<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>State path</td><td>specifies location of state files</td><td>-statedir</td></tr>
<tr><td>EEPROM path</td><td>specifies location of EEPROM files</td><td>-eepromdir</td></tr>
<tr><td>NVRAM path</td><td>specifies location of NVRAM (flash/EEPROM) files</td><td>-nvramdir</td></tr>
<tr><td>Overwrite 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>
<tr><td>Continuous snapshot interval</td><td>interval (in seconds) between snapshot</td><td>-ssinterval</td></tr>
@ -2861,7 +2862,7 @@
writing to a real EEPROM many times will eventually wear it out.</p>
<p>The location of the EEPROM files are configurable through the
'<i>-eepromdir</i>' commandline argument and within the application itself
'<i>-nvramdir</i>' commandline argument and within the application itself
(see <b>Advanced Configuration - <a href="#ConfigPaths">Config Paths</a></b>).
If the path for these files hasn't been set, the default location will depend on the
version of Stella, as follows:</p>
@ -2869,21 +2870,21 @@
<p><table cellpadding="5" border="1">
<tr>
<td><b>Linux/Unix</b></td>
<td><i>~/.stella/atarivox_eeprom.dat<br>
~/.stella/savekey_eeprom.dat</i></td>
<td><i>~/.stella/nvram/atarivox_eeprom.dat<br>
~/.stella/nvram/savekey_eeprom.dat</i></td>
</tr>
<tr>
<td><b>Macintosh</b></td>
<td><i>~/Library/Application Support/Stella/atarivox_eeprom.dat<br>
~/Library/Application Support/Stella/savekey_eeprom.dat</i></td>
<td><i>~/Library/Application Support/Stella/nvram/atarivox_eeprom.dat<br>
~/Library/Application Support/Stella/nvram/savekey_eeprom.dat</i></td>
</tr>
<tr>
<td><b>Windows</b></td>
<td><i>%APPDATA%\Stella\atarivox_eeprom.dat<br>
%APPDATA%\Stella\savekey_eeprom.dat</i>&nbsp;&nbsp;&nbsp;
<td><i>%APPDATA%\Stella\nvram\atarivox_eeprom.dat<br>
%APPDATA%\Stella\nvram\savekey_eeprom.dat</i>&nbsp;&nbsp;&nbsp;
<b>OR</b><br>
<i>_BASEDIR_\atarivox_eeprom.dat<br>
_BASEDIR_\savekey_eeprom.dat<br></i>
<i>_BASEDIR_\nvram\atarivox_eeprom.dat<br>
_BASEDIR_\nvram\savekey_eeprom.dat<br></i>
(if a file named 'basedir.txt' exists in the application
directory containing the full pathname for _BASEDIR_)
</td>

View File

@ -360,7 +360,7 @@ bool CartridgeCTY::load(Serializer& in)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void CartridgeCTY::setRomName(const string& name)
{
myEEPROMFile = myOSystem.eepromDir() + name + "_eeprom.dat";
myEEPROMFile = myOSystem.nvramDir() + name + "_eeprom.dat";
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

View File

@ -345,7 +345,7 @@ bool CartridgeFA2::load(Serializer& in)
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void CartridgeFA2::setRomName(const string& name)
{
myFlashFile = myOSystem.eepromDir() + name + "_flash.dat";
myFlashFile = myOSystem.nvramDir() + name + "_flash.dat";
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

View File

@ -738,16 +738,16 @@ void Console::setControllers(const string& rommd5)
}
else if(right == "ATARIVOX")
{
const string& eepromfile = myOSystem->eepromDir() + "atarivox_eeprom.dat";
const string& nvramfile = myOSystem->nvramDir() + "atarivox_eeprom.dat";
myControllers[rightPort] = new AtariVox(Controller::Right, myEvent,
*mySystem, myOSystem->serialPort(),
myOSystem->settings().getString("avoxport"), eepromfile);
myOSystem->settings().getString("avoxport"), nvramfile);
}
else if(right == "SAVEKEY")
{
const string& eepromfile = myOSystem->eepromDir() + "savekey_eeprom.dat";
const string& nvramfile = myOSystem->nvramDir() + "savekey_eeprom.dat";
myControllers[rightPort] = new SaveKey(Controller::Right, myEvent, *mySystem,
eepromfile);
nvramfile);
}
else if(right == "GENESIS")
{

View File

@ -347,10 +347,10 @@ void OSystem::setConfigPaths()
FilesystemNode node;
string s;
validatePath(myStateDir, "statedir", myBaseDir + "statedir");
validatePath(myStateDir, "statedir", myBaseDir + "state");
validatePath(mySnapshotSaveDir, "snapsavedir", defaultSnapSaveDir());
validatePath(mySnapshotLoadDir, "snaploaddir", defaultSnapLoadDir());
validatePath(myEEPROMDir, "eepromdir", myBaseDir);
validatePath(myNVRamDir, "nvramdir", myBaseDir + "nvram");
validatePath(myCfgDir, "cfgdir", myBaseDir + "cfg");
s = mySettings->getString("cheatfile");

View File

@ -321,9 +321,10 @@ class OSystem
const string& snapshotLoadDir() const { return mySnapshotLoadDir; }
/**
Return the full/complete directory name for storing EEPROM files.
Return the full/complete directory name for storing nvram
(flash/EEPROM) files.
*/
const string& eepromDir() const { return myEEPROMDir; }
const string& nvramDir() const { return myNVRamDir; }
/**
Return the full/complete directory name for storing Distella cfg files.
@ -615,7 +616,7 @@ class OSystem
string myStateDir;
string mySnapshotSaveDir;
string mySnapshotLoadDir;
string myEEPROMDir;
string myNVRamDir;
string myCfgDir;
string myCheatFile;

View File

@ -106,7 +106,7 @@ Settings::Settings(OSystem* osystem)
setInternal("cheatfile", "");
setInternal("palettefile", "");
setInternal("propsfile", "");
setInternal("eepromdir", "");
setInternal("nvramdir", "");
setInternal("cfgdir", "");
// ROM browser options
@ -418,11 +418,11 @@ void Settings::usage()
<< " -uipalette <1|2> Used the specified palette for UI elements\n"
<< " -listdelay <delay> Time to wait between keypresses in list widgets (300-1000)\n"
<< " -mwheel <lines> Number of lines the mouse wheel will scroll in UI\n"
<< " -statedir <dir> Directory in which to save state files\n"
<< " -statedir <dir> Directory in which to save/load state files\n"
<< " -cheatfile <file> Full pathname of cheatfile database\n"
<< " -palettefile <file> Full pathname of user-defined palette file\n"
<< " -propsfile <file> Full pathname of ROM properties file\n"
<< " -eepromdir <dir> Directory in which to save EEPROM files\n"
<< " -nvramdir <dir> Directory in which to save/load flash/EEPROM files\n"
<< " -cfgdir <dir> Directory in which to save Distella config files\n"
<< " -avoxport <name> The name of the serial port where an AtariVox is connected\n"
<< " -maxres <WxH> Used by developers to force the maximum size of the application window\n"

View File

@ -126,15 +126,15 @@ FileSnapDialog::FileSnapDialog(
_w - xpos - 10, lineHeight, "");
wid.push_back(myStatePath);
// EEPROM directory
// NVRAM directory
xpos = vBorder; ypos += b->getHeight() + 3;
b = new ButtonWidget(this, font, xpos, ypos, buttonWidth, buttonHeight,
"EEPROM path:", kChooseEEPROMDirCmd);
"NVRAM path:", kChooseNVRamDirCmd);
wid.push_back(b);
xpos += buttonWidth + 10;
myEEPROMPath = new EditTextWidget(this, font, xpos, ypos + 2,
_w - xpos - 10, lineHeight, "");
wid.push_back(myEEPROMPath);
myNVRamPath = new EditTextWidget(this, font, xpos, ypos + 2,
_w - xpos - 10, lineHeight, "");
wid.push_back(myNVRamPath);
// Snapshot single or multiple saves
xpos = 30; ypos += b->getHeight() + 5;
@ -203,7 +203,7 @@ void FileSnapDialog::loadConfig()
myCheatFile->setEditString(settings.getString("cheatfile"));
myPaletteFile->setEditString(settings.getString("palettefile"));
myPropsFile->setEditString(settings.getString("propsfile"));
myEEPROMPath->setEditString(settings.getString("eepromdir"));
myNVRamPath->setEditString(settings.getString("nvramdir"));
myStatePath->setEditString(settings.getString("statedir"));
mySnapSingle->setState(settings.getBool("sssingle"));
mySnap1x->setState(settings.getBool("ss1x"));
@ -220,7 +220,7 @@ void FileSnapDialog::saveConfig()
instance().settings().setString("palettefile", myPaletteFile->getEditString());
instance().settings().setString("propsfile", myPropsFile->getEditString());
instance().settings().setString("statedir", myStatePath->getEditString());
instance().settings().setString("eepromdir", myEEPROMPath->getEditString());
instance().settings().setString("nvramdir", myNVRamPath->getEditString());
instance().settings().setBool("sssingle", mySnapSingle->getState());
instance().settings().setBool("ss1x", mySnap1x->getState());
instance().settings().setString("ssinterval", mySnapInterval->getSelectedTag());
@ -254,9 +254,9 @@ void FileSnapDialog::setDefaults()
node = FilesystemNode(propsfile);
myPropsFile->setEditString(node.getShortPath());
const string& eepromdir = basedir;
node = FilesystemNode(eepromdir);
myEEPROMPath->setEditString(node.getShortPath());
const string& nvramdir = basedir + "nvram";
node = FilesystemNode(nvramdir);
myNVRamPath->setEditString(node.getShortPath());
const string& statedir = basedir + "state";
node = FilesystemNode(statedir);
@ -314,9 +314,9 @@ void FileSnapDialog::handleCommand(CommandSender* sender, int cmd,
FilesystemNode::kListAll, kPropsFileChosenCmd);
break;
case kChooseEEPROMDirCmd:
myBrowser->show("Select EEPROM directory:", myEEPROMPath->getEditString(),
FilesystemNode::kListDirectoriesOnly, kEEPROMDirChosenCmd);
case kChooseNVRamDirCmd:
myBrowser->show("Select NVRAM directory:", myNVRamPath->getEditString(),
FilesystemNode::kListDirectoriesOnly, kNVRamDirChosenCmd);
break;
case kChooseStateDirCmd:
@ -366,10 +366,10 @@ void FileSnapDialog::handleCommand(CommandSender* sender, int cmd,
break;
}
case kEEPROMDirChosenCmd:
case kNVRamDirChosenCmd:
{
FilesystemNode dir(myBrowser->getResult());
myEEPROMPath->setEditString(dir.getShortPath());
myNVRamPath->setEditString(dir.getShortPath());
break;
}

View File

@ -60,12 +60,12 @@ class FileSnapDialog : public Dialog, public CommandSender
kChoosePropsFileCmd = 'LOpr', // properties file (stella.pro)
kChooseSnapSaveDirCmd = 'LOss', // snapshot dir (save files)
kChooseSnapLoadDirCmd = 'LOsl', // snapshot dir (load files)
kChooseEEPROMDirCmd = 'LOee', // eeprom dir
kChooseNVRamDirCmd = 'LOnv', // nvram (flash/eeprom) dir
kStateDirChosenCmd = 'LOsc', // state dir changed
kCheatFileChosenCmd = 'LOcc', // cheatfile changed
kPaletteFileChosenCmd = 'LOpc', // palette file changed
kPropsFileChosenCmd = 'LOrc', // properties file changed
kEEPROMDirChosenCmd = 'LOec' // eeprom dir changed
kNVRamDirChosenCmd = 'LOnc' // nvram (flash/eeprom) dir changed
};
BrowserDialog* myBrowser;
@ -73,7 +73,7 @@ class FileSnapDialog : public Dialog, public CommandSender
// Config paths
EditTextWidget* myRomPath;
EditTextWidget* myStatePath;
EditTextWidget* myEEPROMPath;
EditTextWidget* myNVRamPath;
EditTextWidget* myCheatFile;
EditTextWidget* myPaletteFile;
EditTextWidget* myPropsFile;