summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--.gitattributes1
-rw-r--r--makefile3
-rw-r--r--src/emu/clifront.c28
-rw-r--r--src/emu/emuopts.c4
-rw-r--r--src/emu/info.c49
-rw-r--r--src/emu/ioport.c4
-rw-r--r--src/emu/mame.h79
-rw-r--r--src/emu/romload.c6
-rw-r--r--src/emu/save.c15
-rw-r--r--src/emu/save.h2
-rw-r--r--src/emu/screen.c2
-rw-r--r--src/emu/ui.c34
-rw-r--r--src/emu/uimenu.c34
-rw-r--r--src/emu/video.c4
-rw-r--r--src/mame/mame.c53
-rw-r--r--src/osd/sdl/window.c4
-rw-r--r--src/osd/windows/d3dhlsl.c2
-rw-r--r--src/osd/windows/window.c4
-rw-r--r--src/osd/windows/winmain.c2
19 files changed, 189 insertions, 141 deletions
diff --git a/.gitattributes b/.gitattributes
index d760522cdf9..ba3ce544189 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -4109,6 +4109,7 @@ src/mame/machine/znsec.c svneol=native#text/plain
src/mame/machine/znsec.h svneol=native#text/plain
src/mame/machine/zs01.c svneol=native#text/plain
src/mame/machine/zs01.h svneol=native#text/plain
+src/mame/mame.c svneol=native#text/plain
src/mame/mame.lst svneol=native#text/plain
src/mame/mame.mak svneol=native#text/plain
src/mame/mame_dev.lst svneol=native#text/plain
diff --git a/makefile b/makefile
index b8f45afa3ae..ee4110ab427 100644
--- a/makefile
+++ b/makefile
@@ -582,6 +582,7 @@ LIBOCORE = $(OBJ)/libocore.a
LIBOSD = $(OBJ)/libosd.a
VERSIONOBJ = $(OBJ)/version.o
+EMUINFOOBJ = $(OBJ)/$(TARGET)/$(TARGET).o
DRIVLISTSRC = $(OBJ)/drivlist.c
DRIVLISTOBJ = $(OBJ)/drivlist.o
DEVLISTSRC = $(OBJ)/devlist.c
@@ -727,7 +728,7 @@ ifndef EXECUTABLE_DEFINED
# always recompile the version string
$(VERSIONOBJ): $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(ZLIB) $(SOFTFLOAT) $(FORMATS_LIB) $(COTHREAD) $(LIBOCORE) $(RESFILE)
-$(EMULATOR): $(VERSIONOBJ) $(DRIVLISTOBJ) $(DEVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBDASM) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(FORMATS_LIB) $(COTHREAD) $(ZLIB) $(LIBOCORE) $(RESFILE)
+$(EMULATOR): $(VERSIONOBJ) $(EMUINFOOBJ) $(DRIVLISTOBJ) $(DEVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBDASM) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(FORMATS_LIB) $(COTHREAD) $(ZLIB) $(LIBOCORE) $(RESFILE)
@echo Linking $@...
$(LD) $(LDFLAGS) $(LDFLAGSEMULATOR) $^ $(LIBS) -o $@
ifeq ($(TARGETOS),win32)
diff --git a/src/emu/clifront.c b/src/emu/clifront.c
index 6abb34c92d9..80056389b21 100644
--- a/src/emu/clifront.c
+++ b/src/emu/clifront.c
@@ -268,7 +268,7 @@ int cli_frontend::execute(int argc, char **argv)
// print them out
fprintf(stderr, "\n\"%s\" approximately matches the following\n"
- "supported " GAMESNOUN " (best match first):\n\n", m_options.system_name());
+ "supported %s (best match first):\n\n", m_options.system_name(),emulator_info::get_gamesnoun());
for (int matchnum = 0; matchnum < ARRAY_LENGTH(matches); matchnum++)
if (matches[matchnum] != -1)
fprintf(stderr, "%-18s%s\n", drivlist.driver(matches[matchnum]).name, drivlist.driver(matches[matchnum]).description);
@@ -1300,7 +1300,8 @@ void cli_frontend::execute_commands(const char *exename)
if (strcmp(m_options.command(), CLICOMMAND_SHOWUSAGE) == 0)
{
astring helpstring;
- mame_printf_info(USAGE "\n\nOptions:\n%s", exename, GAMENOUN, m_options.output_help(helpstring));
+ emulator_info::printf_usage(exename, emulator_info::get_gamenoun());
+ mame_printf_info("\n\nOptions:\n%s", m_options.output_help(helpstring));
return;
}
@@ -1322,8 +1323,8 @@ void cli_frontend::execute_commands(const char *exename)
{
// attempt to open the output file
emu_file file(OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS);
- if (file.open(CONFIGNAME ".ini") != FILERR_NONE)
- throw emu_fatalerror("Unable to create file " CONFIGNAME ".ini\n");
+ if (file.open(emulator_info::get_configname(), ".ini") != FILERR_NONE)
+ throw emu_fatalerror("Unable to create file %s.ini\n",emulator_info::get_configname());
// generate the updated INI
astring initext;
@@ -1386,15 +1387,16 @@ void cli_frontend::execute_commands(const char *exename)
void cli_frontend::display_help()
{
- mame_printf_info(APPLONGNAME " v%s - " FULLLONGNAME "\n"
- COPYRIGHT_INFO "\n\n", build_version);
- mame_printf_info("%s\n", DISCLAIMER);
- mame_printf_info(USAGE "\n\n"
- " " APPNAME " -showusage for a brief list of options\n"
- " " APPNAME " -showconfig for a list of configuration options\n"
- " " APPNAME " -listmedia for a full list of supported media\n"
- " " APPNAME " -createconfig to create a " CONFIGNAME ".ini\n\n"
- "For usage instructions, please consult the files config.txt and windows.txt.\n",APPNAME,GAMENOUN);
+ mame_printf_info("%s v%s - %s\n%s\n\n", emulator_info::get_applongname(),build_version,emulator_info::get_fulllongname(),emulator_info::get_copyright_info());
+ mame_printf_info("%s\n", emulator_info::get_disclaimer());
+ emulator_info::printf_usage(emulator_info::get_appname(),emulator_info::get_gamenoun());
+ mame_printf_info("\n\n"
+ " %s -showusage for a brief list of options\n"
+ " %s -showconfig for a list of configuration options\n"
+ " %s -listmedia for a full list of supported media\n"
+ " %s -createconfig to create a %s.ini\n\n"
+ "For usage instructions, please consult the files config.txt and windows.txt.\n",emulator_info::get_appname(),
+ emulator_info::get_appname(),emulator_info::get_appname(),emulator_info::get_appname(),emulator_info::get_configname());
}
diff --git a/src/emu/emuopts.c b/src/emu/emuopts.c
index d13a31132cc..147589e8881 100644
--- a/src/emu/emuopts.c
+++ b/src/emu/emuopts.c
@@ -386,8 +386,8 @@ void emu_options::parse_standard_inis(astring &error_string)
// parse the INI file defined by the platform (e.g., "mame.ini")
// we do this twice so that the first file can change the INI path
- parse_one_ini(CONFIGNAME, OPTION_PRIORITY_MAME_INI);
- parse_one_ini(CONFIGNAME, OPTION_PRIORITY_MAME_INI, &error_string);
+ parse_one_ini(emulator_info::get_configname(), OPTION_PRIORITY_MAME_INI);
+ parse_one_ini(emulator_info::get_configname(), OPTION_PRIORITY_MAME_INI, &error_string);
// debug mode: parse "debug.ini" as well
if (debug())
diff --git a/src/emu/info.c b/src/emu/info.c
index 24b12a2eb2a..b0817035461 100644
--- a/src/emu/info.c
+++ b/src/emu/info.c
@@ -53,21 +53,21 @@
// DTD string describing the data
const char info_xml_creator::s_dtd_string[] =
-"<!DOCTYPE " XML_ROOT " [\n"
-"<!ELEMENT " XML_ROOT " (" XML_TOP "+)>\n"
-"\t<!ATTLIST " XML_ROOT " build CDATA #IMPLIED>\n"
-"\t<!ATTLIST " XML_ROOT " debug (yes|no) \"no\">\n"
-"\t<!ATTLIST " XML_ROOT " mameconfig CDATA #REQUIRED>\n"
-"\t<!ELEMENT " XML_TOP " (description, year?, manufacturer?, biosset*, rom*, disk*, device_ref*, sample*, chip*, display*, sound?, input?, dipswitch*, configuration*, adjuster*, driver?, device*, slot*, softwarelist*, ramoption*)>\n"
-"\t\t<!ATTLIST " XML_TOP " name CDATA #REQUIRED>\n"
-"\t\t<!ATTLIST " XML_TOP " sourcefile CDATA #IMPLIED>\n"
-"\t\t<!ATTLIST " XML_TOP " isbios (yes|no) \"no\">\n"
-"\t\t<!ATTLIST " XML_TOP " isdevice (yes|no) \"no\">\n"
-"\t\t<!ATTLIST " XML_TOP " ismechanical (yes|no) \"no\">\n"
-"\t\t<!ATTLIST " XML_TOP " runnable (yes|no) \"yes\">\n"
-"\t\t<!ATTLIST " XML_TOP " cloneof CDATA #IMPLIED>\n"
-"\t\t<!ATTLIST " XML_TOP " romof CDATA #IMPLIED>\n"
-"\t\t<!ATTLIST " XML_TOP " sampleof CDATA #IMPLIED>\n"
+"<!DOCTYPE __XML_ROOT__ [\n"
+"<!ELEMENT __XML_ROOT__ (__XML_TOP__+)>\n"
+"\t<!ATTLIST __XML_ROOT__ build CDATA #IMPLIED>\n"
+"\t<!ATTLIST __XML_ROOT__ debug (yes|no) \"no\">\n"
+"\t<!ATTLIST __XML_ROOT__ mameconfig CDATA #REQUIRED>\n"
+"\t<!ELEMENT __XML_TOP__ (description, year?, manufacturer?, biosset*, rom*, disk*, device_ref*, sample*, chip*, display*, sound?, input?, dipswitch*, configuration*, adjuster*, driver?, device*, slot*, softwarelist*, ramoption*)>\n"
+"\t\t<!ATTLIST __XML_TOP__ name CDATA #REQUIRED>\n"
+"\t\t<!ATTLIST __XML_TOP__ sourcefile CDATA #IMPLIED>\n"
+"\t\t<!ATTLIST __XML_TOP__ isbios (yes|no) \"no\">\n"
+"\t\t<!ATTLIST __XML_TOP__ isdevice (yes|no) \"no\">\n"
+"\t\t<!ATTLIST __XML_TOP__ ismechanical (yes|no) \"no\">\n"
+"\t\t<!ATTLIST __XML_TOP__ runnable (yes|no) \"yes\">\n"
+"\t\t<!ATTLIST __XML_TOP__ cloneof CDATA #IMPLIED>\n"
+"\t\t<!ATTLIST __XML_TOP__ romof CDATA #IMPLIED>\n"
+"\t\t<!ATTLIST __XML_TOP__ sampleof CDATA #IMPLIED>\n"
"\t\t<!ELEMENT description (#PCDATA)>\n"
"\t\t<!ELEMENT year (#PCDATA)>\n"
"\t\t<!ELEMENT manufacturer (#PCDATA)>\n"
@@ -214,16 +214,21 @@ void info_xml_creator::output(FILE *out)
// output the DTD
fprintf(m_output, "<?xml version=\"1.0\"?>\n");
- fprintf(m_output, "%s\n\n", s_dtd_string);
+ astring dtd(s_dtd_string);
+ dtd.replace(0,"__XML_ROOT__", emulator_info::get_xml_root());
+ dtd.replace(0,"__XML_TOP__", emulator_info::get_xml_top());
+
+ fprintf(m_output, "%s\n\n", dtd.cstr());
// top-level tag
- fprintf(m_output, "<" XML_ROOT " build=\"%s\" debug=\""
+ fprintf(m_output, "<%s build=\"%s\" debug=\""
#ifdef MAME_DEBUG
"yes"
#else
"no"
#endif
"\" mameconfig=\"%d\">\n",
+ emulator_info::get_xml_root(),
xml_normalize_string(build_version),
CONFIG_VERSION
);
@@ -240,7 +245,7 @@ void info_xml_creator::output(FILE *out)
global_free(m_device_used);
// close the top level tag
- fprintf(m_output, "</" XML_ROOT ">\n");
+ fprintf(m_output, "</%s>\n",emulator_info::get_xml_root());
}
@@ -264,7 +269,7 @@ void info_xml_creator::output_devices()
dev->config_complete();
// print the header and the game name
- fprintf(m_output, "\t<" XML_TOP);
+ fprintf(m_output, "\t<%s",emulator_info::get_xml_top());
fprintf(m_output, " name=\"%s\"", xml_normalize_string(dev->shortname()));
fprintf(m_output, " isdevice=\"yes\"");
fprintf(m_output, " runnable=\"no\"");
@@ -277,7 +282,7 @@ void info_xml_creator::output_devices()
output_rom(dev);
// close the topmost tag
- fprintf(m_output, "\t</" XML_TOP ">\n");
+ fprintf(m_output, "\t</%s>\n",emulator_info::get_xml_top());
global_free(dev);
}
}
@@ -303,7 +308,7 @@ void info_xml_creator::output_one()
input_port_list_init(*device, portlist, errors);
// print the header and the game name
- fprintf(m_output, "\t<" XML_TOP);
+ fprintf(m_output, "\t<%s",emulator_info::get_xml_top());
fprintf(m_output, " name=\"%s\"", xml_normalize_string(driver.name));
// strip away any path information from the source_file and output it
@@ -364,7 +369,7 @@ void info_xml_creator::output_one()
output_ramoptions();
// close the topmost tag
- fprintf(m_output, "\t</" XML_TOP ">\n");
+ fprintf(m_output, "\t</%s>\n",emulator_info::get_xml_top());
}
//------------------------------------------------
diff --git a/src/emu/ioport.c b/src/emu/ioport.c
index 8ad335b2327..2de7fd8192d 100644
--- a/src/emu/ioport.c
+++ b/src/emu/ioport.c
@@ -3802,7 +3802,7 @@ static time_t playback_init(running_machine &machine)
/* verify the header against the current game */
if (memcmp(machine.system().name, header + 0x14, strlen(machine.system().name) + 1) != 0)
- mame_printf_info("Input file is for " GAMENOUN " '%s', not for current " GAMENOUN " '%s'\n", header + 0x14, machine.system().name);
+ mame_printf_info("Input file is for %s '%s', not for current %s '%s'\n", emulator_info::get_gamenoun(), header + 0x14, emulator_info::get_gamenoun(), machine.system().name);
/* enable compression */
portdata->playback_file->compress(FCOMPRESS_MEDIUM);
@@ -3999,7 +3999,7 @@ static void record_init(running_machine &machine)
header[0x10] = INP_HEADER_MAJVERSION;
header[0x11] = INP_HEADER_MINVERSION;
strcpy((char *)header + 0x14, machine.system().name);
- sprintf((char *)header + 0x20, APPNAME " %s", build_version);
+ sprintf((char *)header + 0x20, "%s %s", emulator_info::get_appname(), build_version);
/* write it */
portdata->record_file->write(header, sizeof(header));
diff --git a/src/emu/mame.h b/src/emu/mame.h
index 3ffb63ee38f..13b51c696fc 100644
--- a/src/emu/mame.h
+++ b/src/emu/mame.h
@@ -42,60 +42,6 @@ enum
};
-// MESS vs. MAME abstractions
-#ifndef MESS
-#define APPNAME "MAME"
-#define APPNAME_LOWER "mame"
-#define CONFIGNAME "mame"
-#define APPLONGNAME "M.A.M.E."
-#define FULLLONGNAME "Multiple Arcade Machine Emulator"
-#define CAPGAMENOUN "GAME"
-#define CAPSTARTGAMENOUN "Game"
-#define GAMENOUN "game"
-#define GAMESNOUN "games"
-#define COPYRIGHT "Copyright Nicola Salmoria\nand the MAME team\nhttp://mamedev.org"
-#define COPYRIGHT_INFO "Copyright Nicola Salmoria and the MAME team"
-#define DISCLAIMER "MAME is an emulator: it reproduces, more or less faithfully, the behaviour of\n" \
- "several arcade machines. But hardware is useless without software, so an image\n" \
- "of the ROMs which run on that hardware is required. Such ROMs, like any other\n" \
- "commercial software, are copyrighted material and it is therefore illegal to\n" \
- "use them if you don't own the original arcade machine. Needless to say, ROMs\n" \
- "are not distributed together with MAME. Distribution of MAME together with ROM\n" \
- "images is a violation of copyright law and should be promptly reported to the\n" \
- "authors so that appropriate legal action can be taken.\n"
-#define USAGE "Usage: %s [%s] [options]"
-#define XML_ROOT "mame"
-#define XML_TOP "game"
-#define STATE_MAGIC_NUM 'M', 'A', 'M', 'E', 'S', 'A', 'V', 'E'
-#else
-#define APPNAME "MESS"
-#define APPNAME_LOWER "mess"
-#define CONFIGNAME "mess"
-#define APPLONGNAME "M.E.S.S."
-#define FULLLONGNAME "Multi Emulator Super System"
-#define CAPGAMENOUN "SYSTEM"
-#define CAPSTARTGAMENOUN "System"
-#define GAMENOUN "system"
-#define GAMESNOUN "systems"
-#define COPYRIGHT "Copyright the MESS team\nhttp://mess.org"
-#define COPYRIGHT_INFO "Copyright the MESS team\n\n" \
- "MESS is based on MAME Source code\n" \
- "Copyright Nicola Salmoria and the MAME team"
-#define DISCLAIMER "MESS is an emulator: it reproduces, more or less faithfully, the behaviour of\n"\
- "several computer and console systems. But hardware is useless without software\n" \
- "so a file dump of the ROM, cartridges, discs, and cassettes which run on that\n" \
- "hardware is required. Such files, like any other commercial software, are\n" \
- "copyrighted material and it is therefore illegal to use them if you don't own\n" \
- "the original media from which the files are derived. Needless to say, these\n" \
- "files are not distributed together with MESS. Distribution of MESS together\n" \
- "with these files is a violation of copyright law and should be promptly\n" \
- "reported to the authors so that appropriate legal action can be taken.\n"
-#define USAGE "Usage: %s [%s] [media] [software] [options]"
-#define XML_ROOT "mess"
-#define XML_TOP "machine"
-#define STATE_MAGIC_NUM 'M', 'E', 'S', 'S', 'S', 'A', 'V', 'E'
-#endif
-
//**************************************************************************
@@ -105,7 +51,30 @@ enum
// output channel callback
typedef void (*output_callback_func)(void *param, const char *format, va_list argptr);
-
+class emulator_info
+{
+public:
+ // construction/destruction
+ emulator_info() {};
+
+ static const char * get_appname();
+ static const char * get_appname_lower();
+ static const char * get_configname();
+ static const char * get_applongname();
+ static const char * get_fulllongname();
+ static const char * get_capgamenoun();
+ static const char * get_capstartgamenoun();
+ static const char * get_gamenoun();
+ static const char * get_gamesnoun();
+ static const char * get_copyright();
+ static const char * get_copyright_info();
+ static const char * get_disclaimer();
+ static const char * get_usage();
+ static const char * get_xml_root();
+ static const char * get_xml_top();
+ static const char * get_state_magic_num();
+ static void printf_usage(const char *par1, const char *par2);
+};
//**************************************************************************
// GLOBAL VARIABLES
diff --git a/src/emu/romload.c b/src/emu/romload.c
index 14fc12279f3..b350e8d6d54 100644
--- a/src/emu/romload.c
+++ b/src/emu/romload.c
@@ -553,13 +553,15 @@ static void display_rom_load_results(rom_load_data *romdata)
{
/* create the error message and exit fatally */
mame_printf_error("%s", romdata->errorstring.cstr());
- fatalerror_exitcode(romdata->machine(), MAMERR_MISSING_FILES, "ERROR: required files are missing, the "GAMENOUN" cannot be run.");
+ fatalerror_exitcode(romdata->machine(), MAMERR_MISSING_FILES, "ERROR: required files are missing, the %s cannot be run.",emulator_info::get_gamenoun());
}
/* if we had warnings, output them, but continue */
if ((romdata-> warnings) || (romdata->knownbad))
{
- romdata->errorstring.cat("WARNING: the "GAMENOUN" might not run correctly.");
+ romdata->errorstring.cat("WARNING: the ");
+ romdata->errorstring.cat(emulator_info::get_gamenoun());
+ romdata->errorstring.cat(" might not run correctly.");
mame_printf_warning("%s\n", romdata->errorstring.cstr());
}
}
diff --git a/src/emu/save.c b/src/emu/save.c
index 32bc56f1d3a..15505eb1de7 100644
--- a/src/emu/save.c
+++ b/src/emu/save.c
@@ -80,13 +80,6 @@ enum
};
-
-//**************************************************************************
-// GLOBAL VARIABLES
-//**************************************************************************
-
-const char save_manager::s_magic_num[8] = { STATE_MAGIC_NUM };
-
//**************************************************************************
// INITIALIZATION
//**************************************************************************
@@ -244,7 +237,7 @@ save_error save_manager::check_file(running_machine &machine, emu_file &file, co
if (file.read(header, sizeof(header)) != sizeof(header))
{
if (errormsg != NULL)
- (*errormsg)("Could not read " APPNAME " save file header");
+ (*errormsg)("Could not read %s save file header",emulator_info::get_appname());
return STATERR_READ_ERROR;
}
@@ -311,7 +304,7 @@ save_error save_manager::write_file(emu_file &file)
// generate the header
UINT8 header[HEADER_SIZE];
- memcpy(&header[0], s_magic_num, 8);
+ memcpy(&header[0], emulator_info::get_state_magic_num(), 8);
header[8] = SAVE_VERSION;
header[9] = NATIVE_ENDIAN_VALUE_LE_BE(0, SS_MSB_FIRST);
strncpy((char *)&header[0x0a], machine().system().name, 0x1c - 0x0a);
@@ -385,10 +378,10 @@ save_error save_manager::validate_header(const UINT8 *header, const char *gamena
void (CLIB_DECL *errormsg)(const char *fmt, ...), const char *error_prefix)
{
// check magic number
- if (memcmp(header, s_magic_num, 8))
+ if (memcmp(header, emulator_info::get_state_magic_num(), 8))
{
if (errormsg != NULL)
- (*errormsg)("%sThis is not a " APPNAME " save file", error_prefix);
+ (*errormsg)("%sThis is not a %s save file", error_prefix,emulator_info::get_appname());
return STATERR_INVALID_HEADER;
}
diff --git a/src/emu/save.h b/src/emu/save.h
index 4af38458080..49d80d2e31c 100644
--- a/src/emu/save.h
+++ b/src/emu/save.h
@@ -238,8 +238,6 @@ private:
simple_list<state_entry> m_entry_list; // list of reigstered entries
simple_list<state_callback> m_presave_list; // list of pre-save functions
simple_list<state_callback> m_postload_list; // list of post-load functions
-
- static const char s_magic_num[8]; // magic number for header
};
diff --git a/src/emu/screen.c b/src/emu/screen.c
index 0089399dc38..2947c21730c 100644
--- a/src/emu/screen.c
+++ b/src/emu/screen.c
@@ -1030,7 +1030,7 @@ void screen_device::finalize_burnin()
char text[256];
// add two text entries describing the image
- sprintf(text, APPNAME " %s", build_version);
+ sprintf(text,"%s %s", emulator_info::get_appname(), build_version);
png_add_text(&pnginfo, "Software", text);
sprintf(text, "%s %s", machine().system().manufacturer, machine().system().description);
png_add_text(&pnginfo, "System", text);
diff --git a/src/emu/ui.c b/src/emu/ui.c
index 56817e9190e..b9456617bf3 100644
--- a/src/emu/ui.c
+++ b/src/emu/ui.c
@@ -917,7 +917,9 @@ static astring &warnings_string(running_machine &machine, astring &string)
/* add a warning if any ROMs were loaded with warnings */
if (rom_load_warnings(machine) > 0)
{
- string.cat("One or more ROMs/CHDs for this game are incorrect. The " GAMENOUN " may not run correctly.\n");
+ string.cat("One or more ROMs/CHDs for this game are incorrect. The ");
+ string.cat(emulator_info::get_gamenoun());
+ string.cat(" may not run correctly.\n");
if (machine.system().flags & WARNING_FLAGS)
string.cat("\n");
}
@@ -925,12 +927,16 @@ static astring &warnings_string(running_machine &machine, astring &string)
/* if we have at least one warning flag, print the general header */
if ((machine.system().flags & WARNING_FLAGS) || rom_load_knownbad(machine) > 0)
{
- string.cat("There are known problems with this " GAMENOUN "\n\n");
+ string.cat("There are known problems with this ");
+ string.cat(emulator_info::get_gamenoun());
+ string.cat("\n\n");
/* add a warning if any ROMs are flagged BAD_DUMP/NO_DUMP */
- if (rom_load_knownbad(machine) > 0)
- string.cat("One or more ROMs/CHDs for this " GAMENOUN " have not been correctly dumped.\n");
-
+ if (rom_load_knownbad(machine) > 0) {
+ string.cat("One or more ROMs/CHDs for this ");
+ string.cat(emulator_info::get_gamenoun());
+ string.cat(" have not been correctly dumped.\n");
+ }
/* add one line per warning flag */
if (input_machine_has_keyboard(machine))
string.cat("The keyboard emulation may not be 100% accurate.\n");
@@ -957,12 +963,20 @@ static astring &warnings_string(running_machine &machine, astring &string)
/* add the strings for these warnings */
if (machine.system().flags & GAME_UNEMULATED_PROTECTION)
string.cat("The game has protection which isn't fully emulated.\n");
- if (machine.system().flags & GAME_NOT_WORKING)
- string.cat("\nTHIS " CAPGAMENOUN " DOESN'T WORK. The emulation for this game is not yet complete. "
+ if (machine.system().flags & GAME_NOT_WORKING) {
+ string.cat("\nTHIS ");
+ string.cat(emulator_info::get_capgamenoun());
+ string.cat(" DOESN'T WORK. The emulation for this game is not yet complete. "
"There is nothing you can do to fix this problem except wait for the developers to improve the emulation.\n");
- if (machine.system().flags & GAME_MECHANICAL)
- string.cat("\nCertain elements of this " GAMENOUN " cannot be emulated as it requires actual physical interaction or consists of mechanical devices. "
- "It is not possible to fully play this " GAMENOUN ".\n");
+ }
+ if (machine.system().flags & GAME_MECHANICAL) {
+ string.cat("\nCertain elements of this ");
+ string.cat(emulator_info::get_gamenoun());
+ string.cat(" cannot be emulated as it requires actual physical interaction or consists of mechanical devices. "
+ "It is not possible to fully play this ");
+ string.cat(emulator_info::get_gamenoun());
+ string.cat(".\n");
+ }
/* find the parent of this driver */
driver_enumerator drivlist(machine.options());
diff --git a/src/emu/uimenu.c b/src/emu/uimenu.c
index b4854d76de1..51435814c1e 100644
--- a/src/emu/uimenu.c
+++ b/src/emu/uimenu.c
@@ -250,7 +250,6 @@ static render_texture *hilight_texture;
static render_texture *arrow_texture;
static const char priortext[] = "Return to Prior Menu";
-static const char backtext[] = "Return to " CAPSTARTGAMENOUN;
static const char exittext[] = "Exit";
// temporary hack until this is C++-ified
@@ -521,10 +520,12 @@ void ui_menu_reset(ui_menu *menu, ui_menu_reset_options options)
menu->numitems = 0;
menu->visitems = 0;
menu->selected = 0;
+ astring backtext;
+ backtext.printf("Return to %s",emulator_info::get_capstartgamenoun());
/* add an item to return */
if (menu->parent == NULL)
- ui_menu_item_append(menu, backtext, NULL, 0, NULL);
+ ui_menu_item_append(menu, backtext.cstr(), NULL, 0, NULL);
else if (menu->parent->handler == menu_quit_game)
ui_menu_item_append(menu, exittext, NULL, 0, NULL);
else
@@ -1638,7 +1639,7 @@ static void menu_main_populate(running_machine &machine, ui_menu *menu, void *st
int has_configs = FALSE;
int has_analog = FALSE;
int has_dips = FALSE;
-
+ astring menu_text;
/* scan the input port array to see what options we need to enable */
for (port = machine.m_portlist.first(); port != NULL; port = port->next())
for (field = port->fieldlist().first(); field != NULL; field = field->next())
@@ -1652,8 +1653,10 @@ static void menu_main_populate(running_machine &machine, ui_menu *menu, void *st
}
/* add input menu items */
- ui_menu_item_append(menu, "Input (general)", NULL, 0, (void *)menu_input_groups);
- ui_menu_item_append(menu, "Input (this " CAPSTARTGAMENOUN ")", NULL, 0, (void *)menu_input_specific);
+ ui_menu_item_append(menu, "Input (general)", NULL, 0, (void *)menu_input_groups);
+
+ menu_text.printf("Input (this %s)",emulator_info::get_capstartgamenoun());
+ ui_menu_item_append(menu, menu_text.cstr(), NULL, 0, (void *)menu_input_specific);
/* add optional input-related menus */
if (has_dips)
@@ -1667,7 +1670,8 @@ static void menu_main_populate(running_machine &machine, ui_menu *menu, void *st
ui_menu_item_append(menu, "Bookkeeping Info", NULL, 0, (void *)menu_bookkeeping);
/* add game info menu */
- ui_menu_item_append(menu, CAPSTARTGAMENOUN " Information", NULL, 0, (void *)menu_game_info);
+ menu_text.printf("%s Information",emulator_info::get_capstartgamenoun());
+ ui_menu_item_append(menu, menu_text.cstr(), NULL, 0, (void *)menu_game_info);
device_image_interface *image = NULL;
if (machine.devicelist().first(image))
@@ -1717,7 +1721,8 @@ static void menu_main_populate(running_machine &machine, ui_menu *menu, void *st
ui_menu_item_append(menu, "Memory Card", NULL, 0, (void *)menu_memory_card);
/* add reset and exit menus */
- ui_menu_item_append(menu, "Select New " CAPSTARTGAMENOUN, NULL, 0, (void *)menu_select_game);
+ menu_text.printf("Select New %s",emulator_info::get_capstartgamenoun());
+ ui_menu_item_append(menu, menu_text.cstr(), NULL, 0, (void *)menu_select_game);
}
@@ -3705,9 +3710,14 @@ static void menu_select_game_populate(running_machine &machine, ui_menu *menu, s
/* if nothing there, add a single multiline item and return */
if (matchcount == 0)
{
- ui_menu_item_append(menu, "No "GAMESNOUN" found. Please check the rompath specified in the "CONFIGNAME".ini file.\n\n"
- "If this is your first time using "APPNAME", please see the config.txt file in "
- "the docs directory for information on configuring "APPNAME".", NULL, MENU_FLAG_MULTILINE | MENU_FLAG_REDTEXT, NULL);
+ astring txt;
+ txt.printf("No %s found. Please check the rompath specified in the %s.ini file.\n\n"
+ "If this is your first time using %s, please see the config.txt file in "
+ "the docs directory for information on configuring %s.",
+ emulator_info::get_gamesnoun(),
+ emulator_info::get_configname(),
+ emulator_info::get_appname(),emulator_info::get_appname() );
+ ui_menu_item_append(menu, txt.cstr(), NULL, MENU_FLAG_MULTILINE | MENU_FLAG_REDTEXT, NULL);
return;
}
@@ -3868,12 +3878,12 @@ static void menu_select_game_custom_render(running_machine &machine, ui_menu *me
}
else
{
- const char *s = COPYRIGHT;
+ const char *s = emulator_info::get_copyright();
line = 0;
int col = 0;
/* first line is version string */
- sprintf(&tempbuf[line++][0], "%s %s", APPLONGNAME, build_version);
+ sprintf(&tempbuf[line++][0], "%s %s", emulator_info::get_applongname(), build_version);
/* output message */
while (line < ARRAY_LENGTH(tempbuf))
diff --git a/src/emu/video.c b/src/emu/video.c
index b11add50c94..2b6794c701a 100644
--- a/src/emu/video.c
+++ b/src/emu/video.c
@@ -337,7 +337,7 @@ void video_manager::save_snapshot(screen_device *screen, emu_file &file)
create_snapshot_bitmap(screen);
// add two text entries describing the image
- astring text1(APPNAME, " ", build_version);
+ astring text1(emulator_info::get_appname(), " ", build_version);
astring text2(machine().system().manufacturer, " ", machine().system().description);
png_info pnginfo = { 0 };
png_add_text(&pnginfo, "Software", text1);
@@ -1259,7 +1259,7 @@ void video_manager::record_frame()
png_info pnginfo = { 0 };
if (m_movie_frame == 0)
{
- astring text1(APPNAME, " ", build_version);
+ astring text1(emulator_info::get_appname(), " ", build_version);
astring text2(machine().system().manufacturer, " ", machine().system().description);
png_add_text(&pnginfo, "Software", text1);
png_add_text(&pnginfo, "System", text2);
diff --git a/src/mame/mame.c b/src/mame/mame.c
new file mode 100644
index 00000000000..4f5a6bfb4bf
--- /dev/null
+++ b/src/mame/mame.c
@@ -0,0 +1,53 @@
+/***************************************************************************
+
+ mame.c
+
+ Specific (per target) constants
+
+ Copyright Nicola Salmoria and the MAME Team.
+ Visit http://mamedev.org for licensing and usage restrictions.
+
+****************************************************************************/
+#include "emu.h"
+
+#define APPNAME "MAME"
+#define APPNAME_LOWER "mame"
+#define CONFIGNAME "mame"
+#define APPLONGNAME "M.A.M.E."
+#define FULLLONGNAME "Multiple Arcade Machine Emulator"
+#define CAPGAMENOUN "GAME"
+#define CAPSTARTGAMENOUN "Game"
+#define GAMENOUN "game"
+#define GAMESNOUN "games"
+#define COPYRIGHT "Copyright Nicola Salmoria\nand the MAME team\nhttp://mamedev.org"
+#define COPYRIGHT_INFO "Copyright Nicola Salmoria and the MAME team"
+#define DISCLAIMER "MAME is an emulator: it reproduces, more or less faithfully, the behaviour of\n" \
+ "several arcade machines. But hardware is useless without software, so an image\n" \
+ "of the ROMs which run on that hardware is required. Such ROMs, like any other\n" \
+ "commercial software, are copyrighted material and it is therefore illegal to\n" \
+ "use them if you don't own the original arcade machine. Needless to say, ROMs\n" \
+ "are not distributed together with MAME. Distribution of MAME together with ROM\n" \
+ "images is a violation of copyright law and should be promptly reported to the\n" \
+ "authors so that appropriate legal action can be taken.\n"
+#define USAGE "Usage: %s [%s] [options]"
+#define XML_ROOT "mame"
+#define XML_TOP "game"
+#define STATE_MAGIC_NUM "MAMESAVE"
+
+const char * emulator_info::get_appname() { return APPNAME;}
+const char * emulator_info::get_appname_lower() { return APPNAME_LOWER;}
+const char * emulator_info::get_configname() { return CONFIGNAME;}
+const char * emulator_info::get_applongname() { return APPLONGNAME;}
+const char * emulator_info::get_fulllongname() { return FULLLONGNAME;}
+const char * emulator_info::get_capgamenoun() { return CAPGAMENOUN;}
+const char * emulator_info::get_capstartgamenoun() { return CAPSTARTGAMENOUN;}
+const char * emulator_info::get_gamenoun() { return GAMENOUN;}
+const char * emulator_info::get_gamesnoun() { return GAMESNOUN;}
+const char * emulator_info::get_copyright() { return COPYRIGHT;}
+const char * emulator_info::get_copyright_info() { return COPYRIGHT_INFO;}
+const char * emulator_info::get_disclaimer() { return DISCLAIMER;}
+const char * emulator_info::get_usage() { return USAGE;}
+const char * emulator_info::get_xml_root() { return XML_ROOT;}
+const char * emulator_info::get_xml_top() { return XML_TOP;}
+const char * emulator_info::get_state_magic_num() { return STATE_MAGIC_NUM;}
+void emulator_info::printf_usage(const char *par1, const char *par2) { mame_printf_info(USAGE, par1, par2); }
diff --git a/src/osd/sdl/window.c b/src/osd/sdl/window.c
index 5753f99a4ae..85428699668 100644
--- a/src/osd/sdl/window.c
+++ b/src/osd/sdl/window.c
@@ -703,9 +703,9 @@ int sdlwindow_video_window_create(running_machine &machine, int index, sdl_monit
// make the window title
if (video_config.numscreens == 1)
- sprintf(window->title, APPNAME ": %s [%s]", machine.system().description, machine.system().name);
+ sprintf(window->title, "%s: %s [%s]", emulator_info::get_appname(), machine.system().description, machine.system().name);
else
- sprintf(window->title, APPNAME ": %s [%s] - Screen %d", machine.system().description, machine.system().name, index);
+ sprintf(window->title, "%s: %s [%s] - Screen %d", emulator_info::get_appname(), machine.system().description, machine.system().name, index);
wp->window = window;
diff --git a/src/osd/windows/d3dhlsl.c b/src/osd/windows/d3dhlsl.c
index eecf54b51e9..6fb51026c90 100644
--- a/src/osd/windows/d3dhlsl.c
+++ b/src/osd/windows/d3dhlsl.c
@@ -400,7 +400,7 @@ void hlsl_info::render_snapshot(d3d_surface *surface)
return;
// add two text entries describing the image
- astring text1(APPNAME, " ", build_version);
+ astring text1(emulator_info::get_appname(), " ", build_version);
astring text2(window->machine().system().manufacturer, " ", window->machine().system().description);
png_info pnginfo = { 0 };
png_add_text(&pnginfo, "Software", text1);
diff --git a/src/osd/windows/window.c b/src/osd/windows/window.c
index 1ffdc361f9a..78870ba9dff 100644
--- a/src/osd/windows/window.c
+++ b/src/osd/windows/window.c
@@ -690,9 +690,9 @@ void winwindow_video_window_create(running_machine &machine, int index, win_moni
// make the window title
if (video_config.numscreens == 1)
- sprintf(window->title, APPNAME ": %s [%s]", machine.system().description, machine.system().name);
+ sprintf(window->title, "%s: %s [%s]", emulator_info::get_appname(), machine.system().description, machine.system().name);
else
- sprintf(window->title, APPNAME ": %s [%s] - Screen %d", machine.system().description, machine.system().name, index);
+ sprintf(window->title, "%s: %s [%s] - Screen %d", emulator_info::get_appname(), machine.system().description, machine.system().name, index);
// set the initial maximized state
window->startmaximized = options.maximize();
diff --git a/src/osd/windows/winmain.c b/src/osd/windows/winmain.c
index 9f7c555e079..24d13cea2a0 100644
--- a/src/osd/windows/winmain.c
+++ b/src/osd/windows/winmain.c
@@ -548,7 +548,7 @@ static void winui_output_error(void *param, const char *format, va_list argptr)
winwindow_toggle_full_screen();
vsnprintf(buffer, ARRAY_LENGTH(buffer), format, argptr);
- win_message_box_utf8(win_window_list ? win_window_list->hwnd : NULL, buffer, APPNAME, MB_OK);
+ win_message_box_utf8(win_window_list ? win_window_list->hwnd : NULL, buffer, emulator_info::get_appname(), MB_OK);
}