mirror of
https://github.com/holub/mame
synced 2025-04-19 15:11:37 +03:00
- Updated romload so devices are loaded from separate files [Miodrag Milanovic]
- Removed LOADBYNAME, since it is deprecated by using per device rom load_software_part_region - Created makedev tool to generate array of devices, and created lst file according to current devices usage. - Changed listxml command to output device roms too
This commit is contained in:
parent
b368e07f95
commit
3bdfb55b35
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -24,6 +24,7 @@ hlsl/yiq_encode.fx svneol=native#text/plain
|
||||
src/build/build.mak svneol=native#text/plain
|
||||
src/build/file2str.c svneol=native#text/plain
|
||||
src/build/makedep.c svneol=native#text/plain
|
||||
src/build/makedev.c svneol=native#text/plain
|
||||
src/build/makelist.c svneol=native#text/plain
|
||||
src/build/png2bdc.c svneol=native#text/plain
|
||||
src/build/verinfo.c svneol=native#text/plain
|
||||
@ -4002,8 +4003,10 @@ src/mame/machine/zs01.c svneol=native#text/plain
|
||||
src/mame/machine/zs01.h 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
|
||||
src/mame/tiny.lst svneol=native#text/plain
|
||||
src/mame/tiny.mak svneol=native#text/plain
|
||||
src/mame/tiny_dev.lst svneol=native#text/plain
|
||||
src/mame/video/1942.c svneol=native#text/plain
|
||||
src/mame/video/1943.c svneol=native#text/plain
|
||||
src/mame/video/20pacgal.c svneol=native#text/plain
|
||||
|
12
makefile
12
makefile
@ -580,6 +580,8 @@ LIBOSD = $(OBJ)/libosd.a
|
||||
VERSIONOBJ = $(OBJ)/version.o
|
||||
DRIVLISTSRC = $(OBJ)/drivlist.c
|
||||
DRIVLISTOBJ = $(OBJ)/drivlist.o
|
||||
DEVLISTSRC = $(OBJ)/devlist.c
|
||||
DEVLISTOBJ = $(OBJ)/devlist.o
|
||||
|
||||
|
||||
|
||||
@ -721,7 +723,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) $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBDASM) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(FORMATS_LIB) $(COTHREAD) $(ZLIB) $(LIBOCORE) $(RESFILE)
|
||||
$(EMULATOR): $(VERSIONOBJ) $(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)
|
||||
@ -763,10 +765,18 @@ $(DRIVLISTOBJ): $(DRIVLISTSRC)
|
||||
@echo Compiling $<...
|
||||
$(CC) $(CDEFS) $(CFLAGS) -c $< -o $@
|
||||
|
||||
$(DEVLISTOBJ): $(DEVLISTSRC)
|
||||
@echo Compiling $<...
|
||||
$(CC) $(CDEFS) $(CFLAGS) -c $< -o $@
|
||||
|
||||
$(DRIVLISTSRC): $(SRC)/$(TARGET)/$(SUBTARGET).lst $(MAKELIST_TARGET)
|
||||
@echo Building driver list $<...
|
||||
@$(MAKELIST) $< >$@
|
||||
|
||||
$(DEVLISTSRC): $(SRC)/$(TARGET)/$(SUBTARGET)_dev.lst $(MAKEDEV_TARGET)
|
||||
@echo Building device list $<...
|
||||
@$(MAKEDEV) $< >$@
|
||||
|
||||
$(OBJ)/%.a:
|
||||
@echo Archiving $@...
|
||||
$(RM) $@
|
||||
|
@ -21,6 +21,7 @@ OBJDIRS += \
|
||||
FILE2STR_TARGET = $(BUILDOUT)/file2str$(BUILD_EXE)
|
||||
MAKEDEP_TARGET = $(BUILDOUT)/makedep$(BUILD_EXE)
|
||||
MAKELIST_TARGET = $(BUILDOUT)/makelist$(BUILD_EXE)
|
||||
MAKEDEV_TARGET = $(BUILDOUT)/makedev$(BUILD_EXE)
|
||||
PNG2BDC_TARGET = $(BUILDOUT)/png2bdc$(BUILD_EXE)
|
||||
VERINFO_TARGET = $(BUILDOUT)/verinfo$(BUILD_EXE)
|
||||
|
||||
@ -28,12 +29,14 @@ ifeq ($(TARGETOS),win32)
|
||||
FILE2STR = $(subst /,\,$(FILE2STR_TARGET))
|
||||
MAKEDEP = $(subst /,\,$(MAKEDEP_TARGET))
|
||||
MAKELIST = $(subst /,\,$(MAKELIST_TARGET))
|
||||
MAKEDEV = $(subst /,\,$(MAKEDEV_TARGET))
|
||||
PNG2BDC = $(subst /,\,$(PNG2BDC_TARGET))
|
||||
VERINFO = $(subst /,\,$(VERINFO_TARGET))
|
||||
else
|
||||
FILE2STR = $(FILE2STR_TARGET)
|
||||
MAKEDEP = $(MAKEDEP_TARGET)
|
||||
MAKELIST = $(MAKELIST_TARGET)
|
||||
MAKEDEV = $(MAKEDEV_TARGET)
|
||||
PNG2BDC = $(PNG2BDC_TARGET)
|
||||
VERINFO = $(VERINFO_TARGET)
|
||||
endif
|
||||
@ -43,6 +46,7 @@ BUILD += \
|
||||
$(FILE2STR_TARGET) \
|
||||
$(MAKEDEP_TARGET) \
|
||||
$(MAKELIST_TARGET) \
|
||||
$(MAKEDEV_TARGET) \
|
||||
$(PNG2BDC_TARGET) \
|
||||
$(VERINFO_TARGET) \
|
||||
|
||||
@ -87,6 +91,19 @@ $(MAKELIST_TARGET): $(MAKELISTOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB)
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------
|
||||
# makedev
|
||||
#-------------------------------------------------
|
||||
|
||||
MAKEDEVOBJS = \
|
||||
$(BUILDOBJ)/makedev.o \
|
||||
|
||||
$(MAKEDEV_TARGET): $(MAKEDEVOBJS) $(LIBUTIL) $(LIBOCORE) $(ZLIB)
|
||||
@echo Linking $@...
|
||||
$(LD) $(LDFLAGS) $^ $(LIBS) -o $@
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------
|
||||
# png2bdc
|
||||
#-------------------------------------------------
|
||||
|
233
src/build/makedev.c
Normal file
233
src/build/makedev.c
Normal file
@ -0,0 +1,233 @@
|
||||
/***************************************************************************
|
||||
|
||||
makedev.c
|
||||
|
||||
Create and sort the driver list.
|
||||
|
||||
****************************************************************************
|
||||
|
||||
Copyright Aaron Giles
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name 'MAME' nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include "corefile.h"
|
||||
|
||||
|
||||
#define MAX_DEVICES 65536
|
||||
|
||||
static const char *devlist[MAX_DEVICES];
|
||||
static int devcount;
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// driver_sort_callback - compare two items in
|
||||
// a string array
|
||||
//-------------------------------------------------
|
||||
|
||||
int sort_callback(const void *elem1, const void *elem2)
|
||||
{
|
||||
const char **item1 = (const char **)elem1;
|
||||
const char **item2 = (const char **)elem2;
|
||||
return strcmp(*item1, *item2);
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// parse_file - parse a single file, may be
|
||||
// called recursively
|
||||
//-------------------------------------------------
|
||||
|
||||
int parse_file(const char *srcfile)
|
||||
{
|
||||
// read source file
|
||||
void *buffer;
|
||||
UINT32 length;
|
||||
file_error filerr = core_fload(srcfile, &buffer, &length);
|
||||
if (filerr != FILERR_NONE)
|
||||
{
|
||||
fprintf(stderr, "Unable to read source file '%s'\n", srcfile);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// rip through it to find all drivers
|
||||
char *srcptr = (char *)buffer;
|
||||
char *endptr = srcptr + length;
|
||||
int linenum = 1;
|
||||
bool in_comment = false;
|
||||
while (srcptr < endptr)
|
||||
{
|
||||
char c = *srcptr++;
|
||||
|
||||
// count newlines
|
||||
if (c == 13 || c == 10)
|
||||
{
|
||||
if (c == 13 && *srcptr == 10)
|
||||
srcptr++;
|
||||
linenum++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// skip any spaces
|
||||
if (isspace(c))
|
||||
continue;
|
||||
|
||||
// look for end of C comment
|
||||
if (in_comment && c == '*' && *srcptr == '/')
|
||||
{
|
||||
srcptr++;
|
||||
in_comment = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
// skip anything else inside a C comment
|
||||
if (in_comment)
|
||||
continue;
|
||||
|
||||
// look for start of C comment
|
||||
if (c == '/' && *srcptr == '*')
|
||||
{
|
||||
srcptr++;
|
||||
in_comment = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
// if we hit a C++ comment, scan to the end of line
|
||||
if (c == '/' && *srcptr == '/')
|
||||
{
|
||||
while (srcptr < endptr && *srcptr != 13 && *srcptr != 10)
|
||||
srcptr++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// look for an import directive
|
||||
if (c == '#')
|
||||
{
|
||||
char filename[256];
|
||||
filename[0] = 0;
|
||||
for (int pos = 0; srcptr < endptr && pos < ARRAY_LENGTH(filename) - 1 && !isspace(*srcptr); pos++)
|
||||
{
|
||||
filename[pos] = *srcptr++;
|
||||
filename[pos+1] = 0;
|
||||
}
|
||||
fprintf(stderr, "Importing devices from '%s'\n", filename);
|
||||
parse_file(filename);
|
||||
continue;
|
||||
}
|
||||
|
||||
// otherwise treat as a device name
|
||||
char drivname[32];
|
||||
drivname[0] = 0;
|
||||
srcptr--;
|
||||
for (int pos = 0; srcptr < endptr && pos < ARRAY_LENGTH(drivname) - 1 && !isspace(*srcptr); pos++)
|
||||
{
|
||||
drivname[pos] = *srcptr++;
|
||||
drivname[pos+1] = 0;
|
||||
}
|
||||
|
||||
// verify the name as valid
|
||||
for (char *drivch = drivname; *drivch != 0; drivch++)
|
||||
{
|
||||
if ((*drivch >= 'A' && *drivch <= 'Z') || (*drivch >= '0' && *drivch <= '9') || *drivch == '_')
|
||||
continue;
|
||||
fprintf(stderr, "%s:%d - Invalid character '%c' in device type \"%s\"\n", srcfile, linenum, *drivch, drivname);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// add it to the list
|
||||
char *name = (char *)malloc(strlen(drivname) + 1);
|
||||
strcpy(name, drivname);
|
||||
devlist[devcount++] = name;
|
||||
}
|
||||
|
||||
osd_free(buffer);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// main - primary entry point
|
||||
//-------------------------------------------------
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
// needs at least 1 argument
|
||||
if (argc < 2)
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Usage:\n"
|
||||
" makedev <source.lst>\n"
|
||||
);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// extract arguments
|
||||
const char *srcfile = argv[1];
|
||||
|
||||
// parse the root file, exit early upon failure
|
||||
devcount = 0;
|
||||
if (parse_file(srcfile))
|
||||
return 1;
|
||||
|
||||
// output a count
|
||||
if (devcount == 0)
|
||||
{
|
||||
fprintf(stderr, "No devices found\n");
|
||||
} else {
|
||||
fprintf(stderr, "%d devices found\n", devcount);
|
||||
}
|
||||
|
||||
// sort the list
|
||||
qsort(devlist, devcount, sizeof(*devlist), sort_callback);
|
||||
|
||||
// start with a header
|
||||
printf("#include \"emu.h\"\n\n");
|
||||
|
||||
// output the list of externs first
|
||||
for (int index = 0; index < devcount; index++)
|
||||
printf("extern const device_type %s;\n", devlist[index]);
|
||||
printf("\n");
|
||||
|
||||
// then output the array
|
||||
printf("const device_type * s_devices_sorted[] =\n");
|
||||
printf("{\n");
|
||||
for (int index = 0; index < devcount; index++)
|
||||
printf("\t&%s%s\n", devlist[index], (index == devcount - 1) ? "" : ",");
|
||||
printf("};\n");
|
||||
printf("\n");
|
||||
|
||||
// also output a global count
|
||||
printf("int m_device_count = %d;\n", devcount);
|
||||
|
||||
return 0;
|
||||
}
|
@ -96,10 +96,10 @@ const char *driverpath = m_enumerator.config().devicelist().find("root")->search
|
||||
{
|
||||
// temporary hack: add the driver path & region name
|
||||
astring combinedpath(source->searchpath(), ";", driverpath);
|
||||
if(ROMREGION_ISLOADBYNAME(region))
|
||||
if(source->shortname())
|
||||
{
|
||||
combinedpath=combinedpath.cat(";");
|
||||
combinedpath=combinedpath.cat(ROMREGION_GETTAG(region));
|
||||
combinedpath=combinedpath.cat(source->shortname());
|
||||
}
|
||||
m_searchpath = combinedpath;
|
||||
|
||||
|
@ -232,11 +232,50 @@ void info_xml_creator::output(FILE *out)
|
||||
while (m_drivlist.next())
|
||||
output_one();
|
||||
|
||||
// iterate through the devices, and output their roms
|
||||
output_devices();
|
||||
// close the top level tag
|
||||
fprintf(m_output, "</" XML_ROOT ">\n");
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// output_devices - print the XML information
|
||||
// for one particular game driver
|
||||
//-------------------------------------------------
|
||||
|
||||
void info_xml_creator::output_devices()
|
||||
{
|
||||
extern const device_type *s_devices_sorted[];
|
||||
extern int m_device_count;
|
||||
|
||||
m_drivlist.reset();
|
||||
m_drivlist.next();
|
||||
machine_config &config = m_drivlist.config();
|
||||
device_t *owner = config.devicelist().first();
|
||||
for(int i=0;i<m_device_count;i++) {
|
||||
device_type type = *s_devices_sorted[i];
|
||||
device_t *dev = (*type)(config, "dummy", owner, 0);
|
||||
dev->config_complete();
|
||||
|
||||
// print the header and the game name
|
||||
fprintf(m_output, "\t<" XML_TOP);
|
||||
fprintf(m_output, " name=\"%s\"", xml_normalize_string(dev->shortname()));
|
||||
fprintf(m_output, " runnable=\"no\"");
|
||||
fprintf(m_output, ">\n");
|
||||
|
||||
// output device description
|
||||
if (dev->name() != NULL)
|
||||
fprintf(m_output, "\t\t<description>%s</description>\n", xml_normalize_string(dev->name()));
|
||||
|
||||
output_rom(dev);
|
||||
|
||||
// close the topmost tag
|
||||
fprintf(m_output, "\t</" XML_TOP ">\n");
|
||||
global_free(dev);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// output_one - print the XML information
|
||||
// for one particular game driver
|
||||
@ -301,7 +340,7 @@ void info_xml_creator::output_one()
|
||||
|
||||
// now print various additional information
|
||||
output_bios();
|
||||
output_rom();
|
||||
output_rom(rom_first_source(m_drivlist.config()));
|
||||
output_sample();
|
||||
output_chips();
|
||||
output_display();
|
||||
@ -381,13 +420,11 @@ void info_xml_creator::output_bios()
|
||||
// the XML output
|
||||
//-------------------------------------------------
|
||||
|
||||
void info_xml_creator::output_rom()
|
||||
void info_xml_creator::output_rom(const rom_source *source)
|
||||
{
|
||||
// iterate over 3 different ROM "types": BIOS, ROMs, DISKs
|
||||
for (int rom_type = 0; rom_type < 3; rom_type++)
|
||||
{
|
||||
// iterate over ROM sources: first the game, then any devices
|
||||
for (const rom_source *source = rom_first_source(m_drivlist.config()); source != NULL; source = rom_next_source(*source))
|
||||
for (const rom_entry *region = rom_first_region(*source); region != NULL; region = rom_next_region(region))
|
||||
{
|
||||
bool is_disk = ROMREGION_ISDISKDATA(region);
|
||||
|
@ -62,7 +62,7 @@ private:
|
||||
void output_one();
|
||||
void output_sampleof();
|
||||
void output_bios();
|
||||
void output_rom();
|
||||
void output_rom(const rom_source *source);
|
||||
void output_sample();
|
||||
void output_chips();
|
||||
void output_display();
|
||||
@ -77,6 +77,8 @@ private:
|
||||
void output_software_list();
|
||||
void output_ramoptions();
|
||||
|
||||
void output_devices();
|
||||
|
||||
const char *get_merge_name(const hash_collection &romhashes);
|
||||
|
||||
// internal state
|
||||
|
@ -292,7 +292,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( pr8210 )
|
||||
ROM_REGION( 0x800, "pr8210", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x800, "pr8210", 0 )
|
||||
ROM_LOAD( "pr-8210_mcu_ud6005a.bin", 0x000, 0x800, CRC(120fa83b) SHA1(b514326ca1f52d6d89056868f9d17eabd4e3f31d) )
|
||||
ROM_END
|
||||
|
||||
@ -1005,10 +1005,10 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( simutrek )
|
||||
ROM_REGION( 0x800, "pr8210", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x800, "pr8210", 0 )
|
||||
ROM_LOAD( "pr-8210_mcu_ud6005a.bin", 0x000, 0x800, CRC(120fa83b) SHA1(b514326ca1f52d6d89056868f9d17eabd4e3f31d) )
|
||||
|
||||
ROM_REGION( 0x400, "simutrek", ROMREGION_LOADBYNAME)
|
||||
ROM_REGION( 0x400, "simutrek", 0)
|
||||
ROM_LOAD( "laser_player_interface_d8748_a308.bin", 0x0000, 0x0400, CRC(eed3e728) SHA1(1eb3467f1c41553375b2c21952cd593b167f5416) )
|
||||
ROM_END
|
||||
|
||||
|
@ -180,7 +180,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( ldv1000 )
|
||||
ROM_REGION( 0x2000, "ldv1000", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x2000, "ldv1000", 0 )
|
||||
ROM_LOAD( "z03_1001_vyw-053_v1-0.bin", 0x0000, 0x2000, CRC(31ec4687) SHA1(52f91c304a878ba02b2fa1cda1a9489d6dd5a34f) )
|
||||
ROM_END
|
||||
|
||||
|
@ -141,7 +141,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( vp931 )
|
||||
ROM_REGION( 0x800, "vp931", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x800, "vp931", 0 )
|
||||
ROM_LOAD( "at-6-1_a.bin", 0x000, 0x800, CRC(e11b3c8d) SHA1(ea2d7f6a044ed085ce5e09d8b1b1a21c37f0e9b8) )
|
||||
ROM_END
|
||||
|
||||
|
@ -1489,7 +1489,7 @@ static void process_region_list(rom_load_data *romdata)
|
||||
#endif
|
||||
|
||||
/* now process the entries in the region */
|
||||
process_rom_entries(romdata, ROMREGION_ISLOADBYNAME(region) ? ROMREGION_GETTAG(region) : NULL, region + 1);
|
||||
process_rom_entries(romdata, (source->shortname()!=NULL) ? source->shortname() : NULL, region + 1);
|
||||
}
|
||||
else if (ROMREGION_ISDISKDATA(region))
|
||||
process_disk_entries(romdata, ROMREGION_GETTAG(region), region + 1, NULL);
|
||||
|
@ -65,10 +65,6 @@ enum
|
||||
#define ROMREGION_DATATYPEROM 0x00000000
|
||||
#define ROMREGION_DATATYPEDISK 0x00004000
|
||||
|
||||
#define ROMREGION_LOADBYNAMEMASK 0x00008000 /* use region name as path to read from */
|
||||
#define ROMREGION_NOLOADBYNAME 0x00000000
|
||||
#define ROMREGION_LOADBYNAME 0x00008000
|
||||
|
||||
#define ROMREGION_ERASEVALMASK 0x00ff0000 /* value to erase the region to */
|
||||
#define ROMREGION_ERASEVAL(x) ((((x) & 0xff) << 16) | ROMREGION_ERASE)
|
||||
#define ROMREGION_ERASE00 ROMREGION_ERASEVAL(0)
|
||||
@ -172,7 +168,6 @@ struct rom_entry
|
||||
#define ROMREGION_GETDATATYPE(r) (ROMREGION_GETFLAGS(r) & ROMREGION_DATATYPEMASK)
|
||||
#define ROMREGION_ISROMDATA(r) (ROMREGION_GETDATATYPE(r) == ROMREGION_DATATYPEROM)
|
||||
#define ROMREGION_ISDISKDATA(r) (ROMREGION_GETDATATYPE(r) == ROMREGION_DATATYPEDISK)
|
||||
#define ROMREGION_ISLOADBYNAME(r) ((ROMREGION_GETFLAGS(r) & ROMREGION_LOADBYNAMEMASK) == ROMREGION_LOADBYNAME)
|
||||
|
||||
|
||||
/* ----- per-ROM macros ----- */
|
||||
|
@ -91,7 +91,7 @@ ADDRESS_MAP_END
|
||||
|
||||
// ROM definition for the BSMT2000 program ROM
|
||||
ROM_START( bsmt2000 )
|
||||
ROM_REGION( 0x2000, "bsmt2000", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x2000, "bsmt2000", 0 )
|
||||
ROM_LOAD16_WORD( "bsmt2000.bin", 0x0000, 0x2000, CRC(c2a265af) SHA1(6ec9eb038fb8eb842c5482aebe1d149daf49f2e6) )
|
||||
ROM_END
|
||||
|
||||
|
@ -465,13 +465,6 @@ static bool validate_roms(driver_enumerator &drivlist, region_array *rgninfo, ga
|
||||
error = true;
|
||||
}
|
||||
|
||||
/* load by name entries must be 8 characters or less */
|
||||
else if (ROMREGION_ISLOADBYNAME(romp) && strlen(regiontag) > 8)
|
||||
{
|
||||
mame_printf_error("%s: %s has load-by-name region '%s' with name >8 characters\n", driver.source_file, driver.name, regiontag);
|
||||
error = true;
|
||||
}
|
||||
|
||||
/* find any empty entry, checking for duplicates */
|
||||
else
|
||||
{
|
||||
|
@ -65,7 +65,7 @@ ADDRESS_MAP_END
|
||||
|
||||
// internal character generator ROM
|
||||
ROM_START( hd61830 )
|
||||
ROM_REGION( 0x5c0, "hd61830", ROMREGION_LOADBYNAME ) // internal 7360-bit chargen ROM
|
||||
ROM_REGION( 0x5c0, "hd61830", 0 ) // internal 7360-bit chargen ROM
|
||||
ROM_LOAD( "hd61830.bin", 0x000, 0x5c0, BAD_DUMP CRC(06a934da) SHA1(bf3f074db5dc92e6f530cb18d6c013563099a87d) ) // typed in from manual
|
||||
ROM_END
|
||||
|
||||
|
@ -189,7 +189,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( namco_52xx )
|
||||
ROM_REGION( 0x400, "mcu", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x400, "mcu", 0 )
|
||||
ROM_LOAD( "52xx.bin", 0x0000, 0x0400, CRC(3257d11e) SHA1(4883b2fdbc99eb7b9906357fcc53915842c2c186) )
|
||||
ROM_END
|
||||
|
||||
|
@ -153,7 +153,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( namco_54xx )
|
||||
ROM_REGION( 0x400, "mcu", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x400, "mcu", 0 )
|
||||
ROM_LOAD( "54xx.bin", 0x0000, 0x0400, CRC(ee7357e0) SHA1(01bdf984a49e8d0cc8761b2cc162fd6434d5afbe) )
|
||||
ROM_END
|
||||
|
||||
|
@ -51,7 +51,7 @@ static MACHINE_CONFIG_FRAGMENT( mie )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( mie )
|
||||
ROM_REGION( 0x800, "mie", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x800, "mie", 0 )
|
||||
ROM_LOAD( "315-6146.bin", 0x000, 0x800, CRC(9b197e35) SHA1(864d14d58732dd4e2ee538ccc71fa8df7013ba06))
|
||||
ROM_END
|
||||
|
||||
|
@ -268,7 +268,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( namco_50xx )
|
||||
ROM_REGION( 0x800, "mcu", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x800, "mcu", 0 )
|
||||
ROM_LOAD( "50xx.bin", 0x0000, 0x0800, CRC(a0acbaf7) SHA1(f03c79451e73b3a93c1591cdb27fedc9f130508d) )
|
||||
ROM_END
|
||||
|
||||
|
@ -368,7 +368,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( namco_51xx )
|
||||
ROM_REGION( 0x400, "mcu", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x400, "mcu", 0 )
|
||||
ROM_LOAD( "51xx.bin", 0x0000, 0x0400, CRC(c2f57ef8) SHA1(50de79e0d6a76bda95ffb02fcce369a79e6abfec) )
|
||||
ROM_END
|
||||
|
||||
|
@ -159,7 +159,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( namco_53xx )
|
||||
ROM_REGION( 0x400, "mcu", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x400, "mcu", 0 )
|
||||
ROM_LOAD( "53xx.bin", 0x0000, 0x0400, CRC(b326fecb) SHA1(758d8583d658e4f1df93184009d86c3eb8713899) )
|
||||
ROM_END
|
||||
|
||||
|
@ -52,7 +52,7 @@ static MACHINE_CONFIG_FRAGMENT( namco_62xx )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( namco_62xx )
|
||||
ROM_REGION( 0x800, "mcu", ROMREGION_LOADBYNAME )
|
||||
ROM_REGION( 0x800, "mcu", 0 )
|
||||
ROM_LOAD( "62xx.bin", 0x0000, 0x0800, CRC(308dc115) SHA1(fe0a60fc339ac2eeed4879a64c1aab130f9d4cfe) )
|
||||
ROM_END
|
||||
|
||||
|
52
src/mame/mame_dev.lst
Normal file
52
src/mame/mame_dev.lst
Normal file
@ -0,0 +1,52 @@
|
||||
/******************************************************************************
|
||||
|
||||
mame_dev.lst
|
||||
|
||||
List of all enabled devices in the system. This file is parsed by
|
||||
makedev.exe, sorted, and output as C code describing the devices.
|
||||
|
||||
****************************************************************************
|
||||
|
||||
Copyright Aaron Giles
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name 'MAME' nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
BSMT2000
|
||||
NAMCO_50XX
|
||||
NAMCO_51XX
|
||||
NAMCO_52XX
|
||||
NAMCO_53XX
|
||||
NAMCO_54XX
|
||||
NAMCO_62XX
|
||||
MIE
|
||||
PHILLIPS_22VP931
|
||||
PIONEER_LDV1000
|
||||
PIONEER_PR8210
|
||||
SIMUTREK_SPECIAL
|
39
src/mame/tiny_dev.lst
Normal file
39
src/mame/tiny_dev.lst
Normal file
@ -0,0 +1,39 @@
|
||||
/******************************************************************************
|
||||
|
||||
tiny_dev.lst
|
||||
|
||||
List of all enabled devices in the system. This file is parsed by
|
||||
makedev.exe, sorted, and output as C code describing the devices.
|
||||
|
||||
****************************************************************************
|
||||
|
||||
Copyright Aaron Giles
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name 'MAME' nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
******************************************************************************/
|
Loading…
Reference in New Issue
Block a user