summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/romload.h
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-09-06 06:36:32 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-09-06 06:36:32 +0000
commit8c9f7cbc76617e666e4f532a431064369b423e25 (patch)
tree5e00afd7dc5993e10013dd7c3e4aa9c69a9dca7a /src/emu/romload.h
parent2c605c0528c939925f54af002dae73bb8f9d411a (diff)
Added new device interface selector: DEVINFO_PTR_ROM_REGION. This allows a
device to provide a set of ROM regions to be loaded along with the game ROMs. It is expected that most regions defined for devices will use the ROMREGION_LOADBYNAME flag to enable the ROMs to live in a central location. Added new device interface selector: DEVINFO_PTR_MACHINE_CONFIG. This allows a device to specify a partial machine driver which is appended to the end of the machine driver for any game using that device. The intention for this is to allow devices which have their own BIOS logic to specify CPUs and other characteristics common to all systems using the device. Added new ROMREGION flag: ROMREGION_LOADBYNAME, which means that if the ROMs in that region are not found in the usual driver files, then the name of the region will be used as a driver filename for loading. Extended the ldcore interface structure to allow each player type to provide its own ROM region and partial machine driver. Moved preliminary PR-8210 emulation code from ldplayer.c to ldpr8210.c. It is currently disabled behind the EMULATE_PR8210_ROM compile time flag.
Diffstat (limited to 'src/emu/romload.h')
-rw-r--r--src/emu/romload.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/emu/romload.h b/src/emu/romload.h
index 1df8eea801f..8d2dd26a9f9 100644
--- a/src/emu/romload.h
+++ b/src/emu/romload.h
@@ -68,6 +68,10 @@ 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)
@@ -185,6 +189,7 @@ struct _rom_load_data
#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 ----- */