mirror of https://github.com/stella-emu/stella.git
The functionality of these files has been integrated into SettingsUNIX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@184 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
63ea3d3e93
commit
e25d504c02
|
@ -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: makefile,v 1.39 2003-09-19 15:45:01 stephena Exp $
|
## $Id: makefile,v 1.40 2003-09-20 13:41:36 stephena Exp $
|
||||||
##============================================================================
|
##============================================================================
|
||||||
|
|
||||||
##============================================================================
|
##============================================================================
|
||||||
|
@ -30,9 +30,9 @@ OPTIMIZATIONS = $(CXXFLAGS) -Wall -Wno-unused
|
||||||
### SDL sound not yet supported in the X11 version
|
### SDL sound not yet supported in the X11 version
|
||||||
### comment out all lines to completely disable sound
|
### comment out all lines to completely disable sound
|
||||||
###
|
###
|
||||||
#SOUND_ALSA = 1
|
SOUND_ALSA = 1
|
||||||
#SOUND_OSS = 1
|
SOUND_OSS = 1
|
||||||
#SOUND_SDL = 1
|
SOUND_SDL = 1
|
||||||
|
|
||||||
### if your C++ compiler doesn't support the bool type
|
### if your C++ compiler doesn't support the bool type
|
||||||
# BSPF_BOOL = 1
|
# BSPF_BOOL = 1
|
||||||
|
|
|
@ -1,166 +0,0 @@
|
||||||
//============================================================================
|
|
||||||
//
|
|
||||||
// SSSS tt lll lll
|
|
||||||
// SS SS tt ll ll
|
|
||||||
// SS tttttt eeee ll ll aaaa
|
|
||||||
// SSSS tt ee ee ll ll aa
|
|
||||||
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
|
||||||
// SS SS tt ee ll ll aa aa
|
|
||||||
// SSSS ttt eeeee llll llll aaaaa
|
|
||||||
//
|
|
||||||
// Copyright (c) 1995-2002 by Bradford W. Mott
|
|
||||||
//
|
|
||||||
// See the file "license" for information on usage and redistribution of
|
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
||||||
//
|
|
||||||
// $Id: FrontendUNIX.cxx,v 1.3 2003-09-12 18:08:54 stephena Exp $
|
|
||||||
//============================================================================
|
|
||||||
|
|
||||||
#include <cstdlib>
|
|
||||||
#include <sstream>
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#include "bspf.hxx"
|
|
||||||
#include "Console.hxx"
|
|
||||||
#include "FrontendUNIX.hxx"
|
|
||||||
#include "Settings.hxx"
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
FrontendUNIX::FrontendUNIX()
|
|
||||||
: myPauseIndicator(false),
|
|
||||||
myQuitIndicator(false),
|
|
||||||
myConsole(0)
|
|
||||||
{
|
|
||||||
myHomeDir = getenv("HOME");
|
|
||||||
string path = myHomeDir + "/.stella";
|
|
||||||
|
|
||||||
if(access(path.c_str(), R_OK|W_OK|X_OK) != 0 )
|
|
||||||
mkdir(path.c_str(), 0777);
|
|
||||||
|
|
||||||
myStateDir = myHomeDir + "/.stella/state/";
|
|
||||||
if(access(myStateDir.c_str(), R_OK|W_OK|X_OK) != 0 )
|
|
||||||
mkdir(myStateDir.c_str(), 0777);
|
|
||||||
|
|
||||||
myHomePropertiesFile = myHomeDir + "/.stella/stella.pro";
|
|
||||||
mySystemPropertiesFile = "/etc/stella.pro";
|
|
||||||
myHomeRCFile = myHomeDir + "/.stella/stellarc";
|
|
||||||
mySystemRCFile = "/etc/stellarc";
|
|
||||||
|
|
||||||
mySnapshotFile = "";
|
|
||||||
myStateFile = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
FrontendUNIX::~FrontendUNIX()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
void FrontendUNIX::setConsole(Console* console)
|
|
||||||
{
|
|
||||||
myConsole = console;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
void FrontendUNIX::setQuitEvent()
|
|
||||||
{
|
|
||||||
myQuitIndicator = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
bool FrontendUNIX::quit()
|
|
||||||
{
|
|
||||||
return myQuitIndicator;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
void FrontendUNIX::setPauseEvent()
|
|
||||||
{
|
|
||||||
myPauseIndicator = !myPauseIndicator;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
bool FrontendUNIX::pause()
|
|
||||||
{
|
|
||||||
return myPauseIndicator;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
string FrontendUNIX::stateFilename(string& md5, uInt32 state)
|
|
||||||
{
|
|
||||||
ostringstream buf;
|
|
||||||
buf << myStateDir << md5 << ".st" << state;
|
|
||||||
|
|
||||||
myStateFile = buf.str();
|
|
||||||
return myStateFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
string FrontendUNIX::snapshotFilename()
|
|
||||||
{
|
|
||||||
if(!myConsole)
|
|
||||||
return "";
|
|
||||||
|
|
||||||
string path = myConsole->settings().theSnapshotDir;
|
|
||||||
string filename;
|
|
||||||
|
|
||||||
if(myConsole->settings().theSnapshotName == "romname")
|
|
||||||
path = path + "/" + myConsole->properties().get("Cartridge.Name");
|
|
||||||
else if(myConsole->settings().theSnapshotName == "md5sum")
|
|
||||||
path = path + "/" + myConsole->properties().get("Cartridge.MD5");
|
|
||||||
|
|
||||||
// Replace all spaces in name with underscores
|
|
||||||
replace(path.begin(), path.end(), ' ', '_');
|
|
||||||
|
|
||||||
// Check whether we want multiple snapshots created
|
|
||||||
if(myConsole->settings().theMultipleSnapshotFlag)
|
|
||||||
{
|
|
||||||
// Determine if the file already exists, checking each successive filename
|
|
||||||
// until one doesn't exist
|
|
||||||
filename = path + ".png";
|
|
||||||
if(access(filename.c_str(), F_OK) == 0 )
|
|
||||||
{
|
|
||||||
ostringstream buf;
|
|
||||||
for(uInt32 i = 1; ;++i)
|
|
||||||
{
|
|
||||||
buf.str("");
|
|
||||||
buf << path << "_" << i << ".png";
|
|
||||||
if(access(buf.str().c_str(), F_OK) == -1 )
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
filename = buf.str();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
filename = path + ".png";
|
|
||||||
|
|
||||||
mySnapshotFile = filename;
|
|
||||||
return mySnapshotFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
string FrontendUNIX::userPropertiesFilename()
|
|
||||||
{
|
|
||||||
return myHomePropertiesFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
string FrontendUNIX::systemPropertiesFilename()
|
|
||||||
{
|
|
||||||
return mySystemPropertiesFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
string FrontendUNIX::userConfigFilename()
|
|
||||||
{
|
|
||||||
return myHomeRCFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
string FrontendUNIX::systemConfigFilename()
|
|
||||||
{
|
|
||||||
return mySystemRCFile;
|
|
||||||
}
|
|
|
@ -1,142 +0,0 @@
|
||||||
//============================================================================
|
|
||||||
//
|
|
||||||
// SSSS tt lll lll
|
|
||||||
// SS SS tt ll ll
|
|
||||||
// SS tttttt eeee ll ll aaaa
|
|
||||||
// SSSS tt ee ee ll ll aa
|
|
||||||
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
|
||||||
// SS SS tt ee ll ll aa aa
|
|
||||||
// SSSS ttt eeeee llll llll aaaaa
|
|
||||||
//
|
|
||||||
// Copyright (c) 1995-2002 by Bradford W. Mott
|
|
||||||
//
|
|
||||||
// See the file "license" for information on usage and redistribution of
|
|
||||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
||||||
//
|
|
||||||
// $Id: FrontendUNIX.hxx,v 1.4 2003-09-12 18:08:54 stephena Exp $
|
|
||||||
//============================================================================
|
|
||||||
|
|
||||||
#ifndef FRONTEND_UNIX_HXX
|
|
||||||
#define FRONTEND_UNIX_HXX
|
|
||||||
|
|
||||||
class Console;
|
|
||||||
|
|
||||||
#include "bspf.hxx"
|
|
||||||
#include "Frontend.hxx"
|
|
||||||
|
|
||||||
/**
|
|
||||||
This class defines UNIX-like OS's (Linux) system specific file locations
|
|
||||||
and events.
|
|
||||||
|
|
||||||
@author Stephen Anthony
|
|
||||||
@version $Id: FrontendUNIX.hxx,v 1.4 2003-09-12 18:08:54 stephena Exp $
|
|
||||||
*/
|
|
||||||
class FrontendUNIX : public Frontend
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
Create a new UNIX frontend
|
|
||||||
*/
|
|
||||||
FrontendUNIX();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FrontendUNIX();
|
|
||||||
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
Let the frontend know about the console object
|
|
||||||
*/
|
|
||||||
virtual void setConsole(Console* console);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Called when the emulation core receives a QUIT event.
|
|
||||||
*/
|
|
||||||
virtual void setQuitEvent();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Check whether a QUIT event has been received.
|
|
||||||
*/
|
|
||||||
virtual bool quit();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Called when the emulation core receives a PAUSE event.
|
|
||||||
*/
|
|
||||||
virtual void setPauseEvent();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Check whether a PAUSE event has been received.
|
|
||||||
*/
|
|
||||||
virtual bool pause();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Returns the UNIX filename representing a state file.
|
|
||||||
|
|
||||||
@param md5 The md5 string to use as part of the filename.
|
|
||||||
@param state The state number to use as part of the filename.
|
|
||||||
@return The full path and filename of the state file.
|
|
||||||
*/
|
|
||||||
virtual string stateFilename(string& md5, uInt32 state);
|
|
||||||
|
|
||||||
/**
|
|
||||||
Returns the UNIX filename representing a snapshot file.
|
|
||||||
|
|
||||||
@return The full path and filename of the snapshot file.
|
|
||||||
*/
|
|
||||||
virtual string snapshotFilename();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Returns the UNIX filename representing a users properties file.
|
|
||||||
|
|
||||||
@return The full path and filename of the user properties file.
|
|
||||||
*/
|
|
||||||
virtual string userPropertiesFilename();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Returns the UNIX filename representing a system properties file.
|
|
||||||
|
|
||||||
@return The full path and filename of the system properties file.
|
|
||||||
*/
|
|
||||||
virtual string systemPropertiesFilename();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Returns the UNIX filename representing a users config file.
|
|
||||||
|
|
||||||
@return The full path and filename of the user config file.
|
|
||||||
*/
|
|
||||||
virtual string userConfigFilename();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Returns the UNIX filename representing a system config file.
|
|
||||||
|
|
||||||
@return The full path and filename of the system config file.
|
|
||||||
*/
|
|
||||||
virtual string systemConfigFilename();
|
|
||||||
|
|
||||||
/**
|
|
||||||
Returns the filename representing the users home directory.
|
|
||||||
|
|
||||||
@return The full path and filename of the home directory.
|
|
||||||
*/
|
|
||||||
virtual string userHomeDir() { return myHomeDir; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
bool myPauseIndicator;
|
|
||||||
bool myQuitIndicator;
|
|
||||||
|
|
||||||
string myHomeDir;
|
|
||||||
string myStateDir;
|
|
||||||
|
|
||||||
string mySnapshotFile;
|
|
||||||
string myStateFile;
|
|
||||||
string myHomePropertiesFile;
|
|
||||||
string mySystemPropertiesFile;
|
|
||||||
string myHomeRCFile;
|
|
||||||
string mySystemRCFile;
|
|
||||||
|
|
||||||
// The global Console object
|
|
||||||
Console* myConsole;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
Reference in New Issue