summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/imagedev/multcart.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/imagedev/multcart.h')
-rw-r--r--src/emu/imagedev/multcart.h194
1 files changed, 0 insertions, 194 deletions
diff --git a/src/emu/imagedev/multcart.h b/src/emu/imagedev/multcart.h
deleted file mode 100644
index 801e9daa7b1..00000000000
--- a/src/emu/imagedev/multcart.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/*********************************************************************
-
- multcart.h
-
- Multi-cartridge handling code
-
-*********************************************************************/
-
-#ifndef __MULTCART_H__
-#define __MULTCART_H__
-
-#include "osdcore.h"
-
-#define TAG_PCB "pcb"
-
-DECLARE_LEGACY_IMAGE_DEVICE(MULTICARTSLOT, multicartslot);
-
-/***************************************************************************
- TYPE DEFINITIONS
-***************************************************************************/
-
-enum _multicart_load_flags
-{
- MULTICART_FLAGS_DONT_LOAD_RESOURCES = 0x00,
- MULTICART_FLAGS_LOAD_RESOURCES = 0x01
-};
-typedef enum _multicart_load_flags multicart_load_flags;
-
-enum _multicart_resource_type
-{
- MULTICART_RESOURCE_TYPE_INVALID,
- MULTICART_RESOURCE_TYPE_ROM,
- MULTICART_RESOURCE_TYPE_RAM
-};
-typedef enum _multicart_resource_type multicart_resource_type;
-
-typedef struct _multicart_resource multicart_resource;
-struct _multicart_resource
-{
- const char * id;
- const char * filename;
- multicart_resource * next;
- multicart_resource_type type;
- UINT32 length;
- void * ptr;
-};
-
-
-typedef struct _multicart_socket multicart_socket;
-struct _multicart_socket
-{
- const char * id;
- multicart_socket * next;
- const multicart_resource * resource;
- void * ptr;
-};
-
-
-typedef struct _multicart_private multicart_private;
-
-typedef struct _multicart_t multicart_t;
-struct _multicart_t
-{
- const multicart_resource * resources;
- const multicart_socket * sockets;
- const char * pcb_type;
- const char * gamedrv_name; /* need this to find the path to the nvram files */
- multicart_private * data;
-};
-
-typedef struct _multicartslot_t multicartslot_t;
-struct _multicartslot_t
-{
- device_t *pcb_device;
- multicart_t *mc;
-};
-
-
-typedef struct _multicartslot_pcb_type multicartslot_pcb_type;
-struct _multicartslot_pcb_type
-{
- const char * name;
- device_type devtype;
-};
-
-
-typedef struct _multicartslot_config multicartslot_config;
-struct _multicartslot_config
-{
- const char * extensions;
- device_start_func device_start;
- device_image_load_func device_load;
- device_image_unload_func device_unload;
- multicartslot_pcb_type pcb_types[16];
-};
-
-enum _multicart_open_error
-{
- MCERR_NONE,
- MCERR_NOT_MULTICART,
- MCERR_CORRUPT,
- MCERR_OUT_OF_MEMORY,
- MCERR_XML_ERROR,
- MCERR_INVALID_FILE_REF,
- MCERR_ZIP_ERROR,
- MCERR_MISSING_RAM_LENGTH,
- MCERR_INVALID_RAM_SPEC,
- MCERR_UNKNOWN_RESOURCE_TYPE,
- MCERR_INVALID_RESOURCE_REF,
- MCERR_INVALID_FILE_FORMAT,
- MCERR_MISSING_LAYOUT,
- MCERR_NO_PCB_OR_RESOURCES
-};
-typedef enum _multicart_open_error multicart_open_error;
-
-const char *multicart_error_text(multicart_open_error error);
-
-/***************************************************************************
- PROTOTYPES
-***************************************************************************/
-
-/* opens a multicart */
-multicart_open_error multicart_open(emu_options &options, const char *filename, const char *drvname, multicart_load_flags load_flags, multicart_t **cart);
-
-/* closes a multicart */
-void multicart_close(emu_options &options, multicart_t *cart);
-
-/* accesses the PCB associated with this cartslot */
-device_t *cartslot_get_pcb(device_t *device);
-
-/* accesses a particular socket */
-void *cartslot_get_socket(device_t *device, const char *socket_name);
-
-/* accesses a particular socket; gets the length of the associated resource */
-int cartslot_get_resource_length(device_t *device, const char *socket_name);
-
-#define DECLARE_LEGACY_CART_SLOT_DEVICE(name, basename) _DECLARE_LEGACY_DEVICE(name, basename, basename##_device, legacy_cart_slot_device_base)
-#define DEFINE_LEGACY_CART_SLOT_DEVICE(name, basename) _DEFINE_LEGACY_DEVICE(name, basename, basename##_device, legacy_cart_slot_device_base)
-
-#define MCFG_MULTICARTSLOT_ADD(_tag) \
- MCFG_DEVICE_ADD(_tag, MULTICARTSLOT, 0) \
-
-#define MCFG_MULTICARTSLOT_MODIFY(_tag) \
- MCFG_DEVICE_MODIFY(_tag) \
-
-#define MCFG_MULTICARTSLOT_PCBTYPE(_index, _pcb_type_name, _pcb_devtype) \
- MCFG_DEVICE_CONFIG_DATAPTR_ARRAY_MEMBER(multicartslot_config, pcb_types, _index, multicartslot_pcb_type, name, _pcb_type_name) \
- MCFG_DEVICE_CONFIG_DATAPTR_ARRAY_MEMBER(multicartslot_config, pcb_types, _index, multicartslot_pcb_type, devtype, _pcb_devtype)
-
-#define MCFG_MULTICARTSLOT_START(_start) \
- MCFG_DEVICE_CONFIG_DATAPTR(multicartslot_config, device_start, DEVICE_START_NAME(_start))
-
-#define MCFG_MULTICARTSLOT_LOAD(_load) \
- MCFG_DEVICE_CONFIG_DATAPTR(multicartslot_config, device_load, DEVICE_IMAGE_LOAD_NAME(_load))
-
-#define MCFG_MULTICARTSLOT_UNLOAD(_unload) \
- MCFG_DEVICE_CONFIG_DATAPTR(multicartslot_config, device_unload, DEVICE_IMAGE_UNLOAD_NAME(_unload))
-
-#define MCFG_MULTICARTSLOT_EXTENSION_LIST(_extensions) \
- MCFG_DEVICE_CONFIG_DATAPTR(multicartslot_config, extensions, _extensions)
-
-
-// ======================> device_cart_slot_interface
-
-// class representing interface-specific live cart_slot
-class device_cart_slot_interface : public device_interface
-{
-public:
- // construction/destruction
- device_cart_slot_interface(const machine_config &mconfig, device_t &device);
- virtual ~device_cart_slot_interface();
-};
-
-
-// ======================> legacy_cart_slot_device
-
-// legacy_cart_slot_device is a legacy_device_base with a cart_slot interface
-class legacy_cart_slot_device_base : public legacy_device_base,
- public device_cart_slot_interface
-{
-protected:
- // construction/destruction
- legacy_cart_slot_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, UINT32 clock, device_get_config_func get_config);
-
-public:
- using legacy_device_base::get_legacy_int;
- using legacy_device_base::get_legacy_fct;
- using legacy_device_base::get_legacy_ptr;
-
- // device_cart_slot_interface overrides
-};
-
-
-#endif /* __MULTCART_H__ */