mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
device_image_interface: Interface overhaul
- Remove the iodevice_t classification, which was not used that much and was incomplete anyway. Image device implementations must now provide their own instance names and brief instance names. Several new parent classes have been created to make it easier to use the old standard names. - Change must_be_loaded from a pure virtual function to be overridden in implementations to a getter for a base class property that can be set on the host side (as was formerly made possible for NES, MD and "generic" cartridge slots) but defaults to false for all types. This restrictive property has been unset for a small number of cases. - Create parent classes for paper tape and magnetic tape devices. At present these are dummy classes that do little to nothing, but may help unify implementations in the future. - Change several member functions to take std::string_view parameters rather than const std::string & or const char *. - Make update_names take into account brief names, as discussed in PR #2555. - Remove the obsolete uses_file_extension function (which used thread-unsafe strtok). * portfolio_ccm_slot: Change image type from "cartridge" to "memcard" * i7220, datapack: Add custom instance names that weren't there before * pc11: Add note
This commit is contained in:
parent
20adc731c2
commit
23bbd37da6
@ -37,6 +37,8 @@ files {
|
||||
files {
|
||||
MAME_DIR .. "src/devices/imagedev/bitbngr.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/bitbngr.h",
|
||||
MAME_DIR .. "src/devices/imagedev/cartrom.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/cartrom.h",
|
||||
MAME_DIR .. "src/devices/imagedev/cassette.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/cassette.h",
|
||||
MAME_DIR .. "src/devices/imagedev/chd_cd.cpp",
|
||||
@ -49,6 +51,10 @@ files {
|
||||
MAME_DIR .. "src/devices/imagedev/floppy.h",
|
||||
MAME_DIR .. "src/devices/imagedev/harddriv.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/harddriv.h",
|
||||
MAME_DIR .. "src/devices/imagedev/magtape.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/magtape.h",
|
||||
MAME_DIR .. "src/devices/imagedev/memcard.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/memcard.h",
|
||||
MAME_DIR .. "src/devices/imagedev/mfmhd.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/mfmhd.h",
|
||||
MAME_DIR .. "src/devices/imagedev/microdrv.cpp",
|
||||
@ -57,6 +63,8 @@ files {
|
||||
MAME_DIR .. "src/devices/imagedev/midiin.h",
|
||||
MAME_DIR .. "src/devices/imagedev/midiout.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/midiout.h",
|
||||
MAME_DIR .. "src/devices/imagedev/papertape.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/papertape.h",
|
||||
MAME_DIR .. "src/devices/imagedev/picture.cpp",
|
||||
MAME_DIR .. "src/devices/imagedev/picture.h",
|
||||
MAME_DIR .. "src/devices/imagedev/printer.cpp",
|
||||
|
@ -113,7 +113,7 @@ void device_a78_cart_interface::nvram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
a78_cart_slot_device::a78_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, A78_CART_SLOT, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_slot_interface(mconfig, *this)
|
||||
, m_cart(nullptr)
|
||||
, m_type(0)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -85,7 +85,7 @@ protected:
|
||||
// ======================> a78_cart_slot_device
|
||||
|
||||
class a78_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_slot_interface
|
||||
{
|
||||
public:
|
||||
@ -106,11 +106,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "a7800_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "a78"; }
|
||||
@ -136,9 +131,6 @@ private:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
device_a78_cart_interface* m_cart;
|
||||
int m_type;
|
||||
|
||||
|
@ -104,7 +104,7 @@ void device_a800_cart_interface::nvram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
a800_cart_slot_device::a800_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_a800_cart_interface>(mconfig, *this),
|
||||
m_cart(nullptr), m_type(0)
|
||||
{
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -86,7 +86,7 @@ protected:
|
||||
// ======================> a800_cart_slot_device
|
||||
|
||||
class a800_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_a800_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -107,11 +107,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "a8bit_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,rom,car"; }
|
||||
@ -135,9 +130,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
private:
|
||||
device_a800_cart_interface* m_cart;
|
||||
int m_type;
|
||||
|
@ -54,7 +54,7 @@ device_adam_expansion_slot_card_interface::device_adam_expansion_slot_card_inter
|
||||
adam_expansion_slot_device::adam_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, ADAM_EXPANSION_SLOT, tag, owner, clock),
|
||||
device_single_card_slot_interface<device_adam_expansion_slot_card_interface>(mconfig, *this),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
m_write_irq(*this), m_card(nullptr)
|
||||
{
|
||||
}
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -24,7 +24,7 @@ class device_adam_expansion_slot_card_interface;
|
||||
|
||||
class adam_expansion_slot_device : public device_t,
|
||||
public device_single_card_slot_interface<device_adam_expansion_slot_card_interface>,
|
||||
public device_image_interface
|
||||
public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -55,14 +55,7 @@ protected:
|
||||
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "adam_rom"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,rom"; }
|
||||
|
@ -73,7 +73,7 @@ void device_apf_cart_interface::ram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
apf_cart_slot_device::apf_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, APF_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_apf_cart_interface>(mconfig, *this),
|
||||
m_type(APF_STD),
|
||||
m_cart(nullptr)
|
||||
|
@ -3,7 +3,7 @@
|
||||
#ifndef MAME_BUS_APF_SLOT_H
|
||||
#define MAME_BUS_APF_SLOT_H
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
@ -54,7 +54,7 @@ protected:
|
||||
// ======================> apf_cart_slot_device
|
||||
|
||||
class apf_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_apf_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -76,11 +76,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override {}
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "apfm1000_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
@ -102,8 +97,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_apf_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -57,7 +57,7 @@ void device_aquarius_cartridge_interface::rom_alloc(uint32_t size, const char *t
|
||||
|
||||
aquarius_cartridge_slot_device::aquarius_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, AQUARIUS_CARTRIDGE_SLOT, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<device_aquarius_cartridge_interface>(mconfig, *this)
|
||||
, m_cart(nullptr)
|
||||
, m_irq_handler(*this)
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
#define AQUARIUS_CART_ROM_REGION_TAG ":cart:rom"
|
||||
@ -25,7 +25,7 @@
|
||||
class device_aquarius_cartridge_interface;
|
||||
|
||||
class aquarius_cartridge_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_aquarius_cartridge_interface>
|
||||
{
|
||||
public:
|
||||
@ -49,11 +49,6 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return true; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "aquarius_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "rom,bin"; }
|
||||
@ -76,9 +71,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
device_aquarius_cartridge_interface *m_cart;
|
||||
|
||||
private:
|
||||
|
@ -63,7 +63,7 @@ void device_arcadia_cart_interface::rom_alloc(uint32_t size, const char *tag)
|
||||
//-------------------------------------------------
|
||||
arcadia_cart_slot_device::arcadia_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, EA2001_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_arcadia_cart_interface>(mconfig, *this),
|
||||
m_type(ARCADIA_STD), m_cart(nullptr)
|
||||
{
|
||||
|
@ -3,7 +3,7 @@
|
||||
#ifndef MAME_BUS_ARCADIA_SLOT_H
|
||||
#define MAME_BUS_ARCADIA_SLOT_H
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
#define EA2001SLOT_ROM_REGION_TAG ":cart:rom"
|
||||
|
||||
@ -45,7 +45,7 @@ protected:
|
||||
// ======================> arcadia_cart_slot_device
|
||||
|
||||
class arcadia_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_arcadia_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -66,11 +66,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override {}
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return true; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "arcadia_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
@ -88,9 +83,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_arcadia_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -63,7 +63,7 @@ void device_astrocade_cart_interface::rom_alloc(uint32_t size, const char *tag)
|
||||
//-------------------------------------------------
|
||||
astrocade_cart_slot_device::astrocade_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, ASTROCADE_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_astrocade_cart_interface>(mconfig, *this),
|
||||
m_type(ASTROCADE_STD), m_cart(nullptr)
|
||||
{
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -51,7 +51,7 @@ protected:
|
||||
// ======================> astrocade_cart_slot_device
|
||||
|
||||
class astrocade_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_astrocade_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -71,13 +71,7 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override {}
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "astrocde_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
|
@ -84,7 +84,7 @@ void device_bbc_rom_interface::nvram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
bbc_romslot_device::bbc_romslot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, type, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_rom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<device_bbc_rom_interface>(mconfig, *this)
|
||||
, m_cart(nullptr)
|
||||
{
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
#define BBC_ROM_REGION_TAG ":cart:rom"
|
||||
@ -25,7 +25,7 @@
|
||||
class device_bbc_rom_interface;
|
||||
|
||||
class bbc_romslot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_rom_image_interface,
|
||||
public device_single_card_slot_interface<device_bbc_rom_interface>
|
||||
{
|
||||
public:
|
||||
@ -33,11 +33,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_ROM; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual const char *image_interface() const noexcept override { return "bbc_rom"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "rom,bin"; }
|
||||
@ -60,9 +55,6 @@ protected:
|
||||
// construction/destruction
|
||||
bbc_romslot_device(const machine_config &mconfig, device_type type, char const *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
|
@ -59,7 +59,7 @@ device_c64_expansion_card_interface::~device_c64_expansion_card_interface()
|
||||
c64_expansion_slot_device::c64_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, C64_EXPANSION_SLOT, tag, owner, clock),
|
||||
device_single_card_slot_interface<device_c64_expansion_card_interface>(mconfig, *this),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
m_read_dma_cd(*this),
|
||||
m_write_dma_cd(*this),
|
||||
m_write_irq(*this),
|
||||
|
@ -36,7 +36,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
#include "formats/cbm_crt.h"
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ class device_c64_expansion_card_interface;
|
||||
|
||||
class c64_expansion_slot_device : public device_t,
|
||||
public device_single_card_slot_interface<device_c64_expansion_card_interface>,
|
||||
public device_image_interface
|
||||
public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -101,14 +101,7 @@ protected:
|
||||
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "c64_cart,vic10_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "80,a0,e0,crt"; }
|
||||
|
@ -63,7 +63,7 @@ device_cbm2_expansion_card_interface::~device_cbm2_expansion_card_interface()
|
||||
cbm2_expansion_slot_device::cbm2_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, CBM2_EXPANSION_SLOT, tag, owner, clock),
|
||||
device_single_card_slot_interface<device_cbm2_expansion_card_interface>(mconfig, *this),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
m_card(nullptr)
|
||||
{
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ class device_cbm2_expansion_card_interface;
|
||||
|
||||
class cbm2_expansion_slot_device : public device_t,
|
||||
public device_single_card_slot_interface<device_cbm2_expansion_card_interface>,
|
||||
public device_image_interface
|
||||
public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -71,14 +71,7 @@ protected:
|
||||
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "cbm2_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "20,40,60"; }
|
||||
|
@ -73,7 +73,7 @@ void device_channelf_cart_interface::ram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
channelf_cart_slot_device::channelf_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, CHANF_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_channelf_cart_interface>(mconfig, *this),
|
||||
m_type(CF_CHESS), m_cart(nullptr)
|
||||
{
|
||||
|
@ -3,7 +3,7 @@
|
||||
#ifndef MAME_BUS_CHANF_SLOT_H
|
||||
#define MAME_BUS_CHANF_SLOT_H
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -59,7 +59,7 @@ protected:
|
||||
// ======================> channelf_cart_slot_device
|
||||
|
||||
class channelf_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_channelf_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -81,11 +81,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override { }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "channelf_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,chf"; }
|
||||
@ -107,9 +102,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_channelf_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -133,7 +133,7 @@ ALLOW_SAVE_TYPE(cococart_slot_device::line_value);
|
||||
cococart_slot_device::cococart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
|
||||
device_t(mconfig, COCOCART_SLOT, tag, owner, clock),
|
||||
device_single_card_slot_interface<device_cococart_interface>(mconfig, *this),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
m_cart_callback(*this),
|
||||
m_nmi_callback(*this),
|
||||
m_halt_callback(*this), m_cart(nullptr)
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -31,7 +31,7 @@ class device_cococart_interface;
|
||||
|
||||
class cococart_slot_device final : public device_t,
|
||||
public device_single_card_slot_interface<device_cococart_interface>,
|
||||
public device_image_interface
|
||||
public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
// output lines on the CoCo cartridge slot
|
||||
@ -73,14 +73,7 @@ public:
|
||||
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "coco_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "ccc,rom"; }
|
||||
|
@ -56,7 +56,7 @@ void device_colecovision_cartridge_interface::rom_alloc(size_t size)
|
||||
colecovision_cartridge_slot_device::colecovision_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, COLECOVISION_CARTRIDGE_SLOT, tag, owner, clock),
|
||||
device_single_card_slot_interface<device_colecovision_cartridge_interface>(mconfig, *this),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
m_card(nullptr)
|
||||
{
|
||||
}
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -49,7 +49,7 @@ class device_colecovision_cartridge_interface;
|
||||
|
||||
class colecovision_cartridge_slot_device : public device_t,
|
||||
public device_single_card_slot_interface<device_colecovision_cartridge_interface>,
|
||||
public device_image_interface
|
||||
public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -73,14 +73,7 @@ protected:
|
||||
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "coleco_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "rom,col,bin"; }
|
||||
|
@ -76,7 +76,7 @@ DEFINE_DEVICE_TYPE(CPC_ROMSLOT, cpc_rom_image_device, "cpc_rom_image", "CPC ROM
|
||||
|
||||
cpc_rom_image_device::cpc_rom_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, CPC_ROMSLOT, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_rom_image_interface(mconfig, *this)
|
||||
, m_base(nullptr)
|
||||
{
|
||||
}
|
||||
|
@ -12,12 +12,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "cpcexp.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
/*** ROM image device ***/
|
||||
|
||||
// ======================> cpc_rom_image_device
|
||||
|
||||
class cpc_rom_image_device : public device_t, public device_image_interface
|
||||
class cpc_rom_image_device : public device_t, public device_rom_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -28,12 +29,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_ROM; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "cpc_rom"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "rom,bin"; }
|
||||
|
@ -63,7 +63,7 @@ void device_crvision_cart_interface::rom_alloc(uint32_t size, const char *tag)
|
||||
//-------------------------------------------------
|
||||
crvision_cart_slot_device::crvision_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, CRVISION_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_crvision_cart_interface>(mconfig, *this),
|
||||
m_type(CRV_4K), m_cart(nullptr)
|
||||
{
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -55,7 +55,7 @@ protected:
|
||||
// ======================> crvision_cart_slot_device
|
||||
|
||||
class crvision_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_crvision_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -76,11 +76,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override { }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "crvision_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,rom"; }
|
||||
@ -98,9 +93,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_crvision_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -56,7 +56,7 @@ void device_ekara_cart_interface::rom_alloc(uint32_t size, const char *tag)
|
||||
//-------------------------------------------------
|
||||
ekara_cart_slot_device::ekara_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, EKARA_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_ekara_cart_interface>(mconfig, *this),
|
||||
m_type(EKARA_PLAIN),
|
||||
m_cart(nullptr)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
@ -61,7 +61,7 @@ protected:
|
||||
// ======================> ekara_cart_slot_device
|
||||
|
||||
class ekara_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_ekara_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -84,11 +84,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override {}
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "ekara_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,u1"; }
|
||||
@ -122,9 +117,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_ekara_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -91,7 +91,7 @@ void device_electron_cart_interface::nvram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
electron_cartslot_device::electron_cartslot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_electron_cart_interface>(mconfig, *this),
|
||||
m_cart(nullptr),
|
||||
m_irq_handler(*this),
|
||||
|
@ -96,7 +96,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -115,7 +115,7 @@
|
||||
class device_electron_cart_interface;
|
||||
|
||||
class electron_cartslot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_electron_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -140,11 +140,7 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return true; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "electron_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "rom,bin"; }
|
||||
@ -167,9 +163,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
device_electron_cart_interface *m_cart;
|
||||
|
||||
private:
|
||||
|
@ -56,7 +56,7 @@ void device_gamate_cart_interface::rom_alloc(uint32_t size, const char *tag)
|
||||
//-------------------------------------------------
|
||||
gamate_cart_slot_device::gamate_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, GAMATE_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface(mconfig, *this),
|
||||
m_type(GAMATE_PLAIN),
|
||||
m_cart(nullptr)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
@ -46,7 +46,7 @@ protected:
|
||||
// ======================> gamate_cart_slot_device
|
||||
|
||||
class gamate_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_gamate_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -68,11 +68,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override { }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "gamate_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
@ -91,9 +86,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_gamate_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -138,7 +138,7 @@ void device_gb_cart_interface::ram_map_setup(uint8_t banks)
|
||||
//-------------------------------------------------
|
||||
gb_cart_slot_device_base::gb_cart_slot_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_gb_cart_interface>(mconfig, *this),
|
||||
m_type(GB_MBC_UNKNOWN),
|
||||
m_cart(nullptr)
|
||||
|
@ -3,7 +3,7 @@
|
||||
#ifndef MAME_BUS_GAMEBOY_GB_SLOT_H
|
||||
#define MAME_BUS_GAMEBOY_GB_SLOT_H
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -108,7 +108,7 @@ protected:
|
||||
// ======================> gb_cart_slot_device_base
|
||||
|
||||
class gb_cart_slot_device_base : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_gb_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -119,11 +119,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "gameboy_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,gb,gbc"; }
|
||||
@ -153,9 +148,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_gb_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -534,7 +534,7 @@ void device_gba_cart_interface::nvram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
gba_cart_slot_device::gba_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, GBA_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_slot_interface(mconfig, *this),
|
||||
m_type(GBA_STD),
|
||||
m_cart(nullptr)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -79,7 +79,7 @@ protected:
|
||||
// ======================> gba_cart_slot_device
|
||||
|
||||
class gba_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_slot_interface
|
||||
{
|
||||
public:
|
||||
@ -101,11 +101,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "gba_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "gba,bin"; }
|
||||
@ -133,9 +128,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_gba_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -121,12 +121,11 @@ void device_generic_cart_interface::ram_alloc(u32 size)
|
||||
|
||||
generic_slot_device::generic_slot_device(machine_config const &mconfig, device_type type, char const *tag, device_t *owner, u32 clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_rom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_generic_cart_interface>(mconfig, *this),
|
||||
m_interface(nullptr),
|
||||
m_default_card("rom"),
|
||||
m_extensions("bin"),
|
||||
m_must_be_loaded(false),
|
||||
m_width(GENERIC_ROM8_WIDTH),
|
||||
m_endianness(ENDIANNESS_LITTLE),
|
||||
m_cart(nullptr),
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
#include <cassert>
|
||||
|
||||
@ -102,7 +102,7 @@ enum
|
||||
|
||||
|
||||
class generic_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_rom_image_interface,
|
||||
public device_single_card_slot_interface<device_generic_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -114,18 +114,12 @@ public:
|
||||
void set_interface(char const *interface) { m_interface = interface; }
|
||||
void set_default_card(char const *def) { m_default_card = def; }
|
||||
void set_extensions(char const *exts) { m_extensions = exts; }
|
||||
void set_must_be_loaded(bool mandatory) { m_must_be_loaded = mandatory; } // default false
|
||||
void set_width(int width) { m_width = width; }
|
||||
void set_endian(endianness_t end) { m_endianness = end; }
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return m_must_be_loaded; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual char const *image_interface() const noexcept override { return m_interface; }
|
||||
virtual char const *file_extensions() const noexcept override { return m_extensions; }
|
||||
@ -175,13 +169,9 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override ATTR_COLD;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual software_list_loader const &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
char const *m_interface;
|
||||
char const *m_default_card;
|
||||
char const *m_extensions;
|
||||
bool m_must_be_loaded;
|
||||
int m_width;
|
||||
endianness_t m_endianness;
|
||||
device_generic_cart_interface *m_cart;
|
||||
@ -205,7 +195,8 @@ public:
|
||||
|
||||
generic_socket_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock = 0);
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_ROM; }
|
||||
virtual const char *image_type_name() const noexcept override { return "romimage"; }
|
||||
virtual const char *image_brief_type_name() const noexcept override { return "rom"; }
|
||||
};
|
||||
|
||||
class generic_cartslot_device : public generic_slot_device
|
||||
@ -224,7 +215,8 @@ public:
|
||||
|
||||
generic_cartslot_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock = 0);
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual const char *image_type_name() const noexcept override { return "cartridge"; }
|
||||
virtual const char *image_brief_type_name() const noexcept override { return "cart"; }
|
||||
};
|
||||
|
||||
|
||||
|
@ -46,14 +46,13 @@ protected:
|
||||
virtual void ieee488_ren(int state) override;
|
||||
|
||||
// image-level overrides
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_FLOPPY; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return true; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual const char *file_extensions() const noexcept override { return "img"; }
|
||||
virtual const char *image_type_name() const noexcept override { return "floppydisk"; }
|
||||
virtual const char *image_brief_type_name() const noexcept override { return "flop"; }
|
||||
|
||||
void accept_transfer();
|
||||
void update_ndac(int atn);
|
||||
@ -101,7 +100,8 @@ public:
|
||||
grid2101_hdd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// image-level overrides
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_HARDDISK; }
|
||||
virtual const char *image_type_name() const noexcept override { return "harddisk"; }
|
||||
virtual const char *image_brief_type_name() const noexcept override { return "hard"; }
|
||||
|
||||
private:
|
||||
static uint8_t identify_response[];
|
||||
|
@ -171,15 +171,13 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_ROM; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual char const *file_extensions() const noexcept override { return "rom,bin"; }
|
||||
virtual char const *custom_instance_name() const noexcept override { return "promimage"; }
|
||||
virtual char const *custom_brief_instance_name() const noexcept override { return "prom"; }
|
||||
virtual char const *image_type_name() const noexcept override { return "promimage"; }
|
||||
virtual char const *image_brief_type_name() const noexcept override { return "prom"; }
|
||||
|
||||
protected:
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
@ -100,15 +100,13 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_ROM; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual char const *file_extensions() const noexcept override { return "rom,bin"; }
|
||||
virtual char const *custom_instance_name() const noexcept override { return "promimage"; }
|
||||
virtual char const *custom_brief_instance_name() const noexcept override { return "prom"; }
|
||||
virtual char const *image_type_name() const noexcept override { return "promimage"; }
|
||||
virtual char const *image_brief_type_name() const noexcept override { return "prom"; }
|
||||
|
||||
protected:
|
||||
virtual void device_start() override;
|
||||
|
@ -16,13 +16,14 @@ interface and paper tape reader as a single device.
|
||||
#include "emu.h"
|
||||
#include "tapereader.h"
|
||||
|
||||
#include "imagedev/papertape.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class imm4_90_device
|
||||
: public device_t
|
||||
: public paper_tape_reader_device
|
||||
, public bus::intellec4::device_univ_card_interface
|
||||
, public device_image_interface
|
||||
{
|
||||
public:
|
||||
imm4_90_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
|
||||
@ -30,13 +31,7 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_PUNCHTAPE; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual char const *file_extensions() const noexcept override { return "bnpf,hex,lst,txt"; }
|
||||
virtual char const *file_extensions() const noexcept override { return "bnpf,hex,lst,txt"; }
|
||||
|
||||
protected:
|
||||
virtual void device_start() override;
|
||||
@ -59,9 +54,8 @@ private:
|
||||
|
||||
|
||||
imm4_90_device::imm4_90_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock)
|
||||
: device_t(mconfig, INTELLEC4_TAPE_READER, tag, owner, clock)
|
||||
: paper_tape_reader_device(mconfig, INTELLEC4_TAPE_READER, tag, owner, clock)
|
||||
, bus::intellec4::device_univ_card_interface(mconfig, *this)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, m_step_timer(nullptr)
|
||||
, m_data(0xffU)
|
||||
, m_ready(false)
|
||||
|
@ -146,7 +146,7 @@ void device_intv_cart_interface::ram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
intv_cart_slot_device::intv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, INTV_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_intv_cart_interface>(mconfig, *this),
|
||||
m_type(INTV_STD),
|
||||
m_cart(nullptr)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -93,7 +93,7 @@ protected:
|
||||
// ======================> intv_cart_slot_device
|
||||
|
||||
class intv_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_intv_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -115,11 +115,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override {}
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "intv_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,int,rom,itv"; }
|
||||
@ -172,9 +167,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_intv_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -56,7 +56,7 @@ device_iq151cart_interface::~device_iq151cart_interface()
|
||||
iq151cart_slot_device::iq151cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, IQ151CART_SLOT, tag, owner, clock)
|
||||
, device_single_card_slot_interface<device_iq151cart_interface>(mconfig, *this)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, m_out_irq0_cb(*this)
|
||||
, m_out_irq1_cb(*this)
|
||||
, m_out_irq2_cb(*this)
|
||||
|
@ -47,7 +47,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
#include "screen.h"
|
||||
|
||||
/***************************************************************************
|
||||
@ -83,7 +83,7 @@ protected:
|
||||
|
||||
class iq151cart_slot_device : public device_t,
|
||||
public device_single_card_slot_interface<device_iq151cart_interface>,
|
||||
public device_image_interface
|
||||
public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -111,11 +111,6 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "iq151_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,rom"; }
|
||||
@ -134,9 +129,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
devcb_write_line m_out_irq0_cb;
|
||||
devcb_write_line m_out_irq1_cb;
|
||||
devcb_write_line m_out_irq2_cb;
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "emu.h"
|
||||
#include "omti8621.h"
|
||||
#include "image.h"
|
||||
#include "imagedev/harddriv.h"
|
||||
#include "formats/pc_dsk.h"
|
||||
#include "formats/naslite_dsk.h"
|
||||
#include "formats/apollo_dsk.h"
|
||||
@ -47,25 +48,17 @@ static int verbose = VERBOSE;
|
||||
// forward declaration of image class
|
||||
DECLARE_DEVICE_TYPE(OMTI_DISK, omti_disk_image_device)
|
||||
|
||||
class omti_disk_image_device : public device_t,
|
||||
public device_image_interface
|
||||
class omti_disk_image_device : public harddisk_image_base_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
omti_disk_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// image-level overrides
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_HARDDISK; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return true; }
|
||||
virtual bool is_creatable() const noexcept override { return true; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual bool support_command_line_image_creation() const noexcept override { return true; }
|
||||
virtual const char *file_extensions() const noexcept override { return "awd"; }
|
||||
virtual const char *custom_instance_name() const noexcept override { return "winchester"; }
|
||||
virtual const char *custom_brief_instance_name() const noexcept override { return "disk"; }
|
||||
virtual const char *image_type_name() const noexcept override { return "winchester"; }
|
||||
virtual const char *image_brief_type_name() const noexcept override { return "disk"; }
|
||||
|
||||
virtual image_init_result call_create(int format_type, util::option_resolution *format_options) override;
|
||||
|
||||
@ -1383,8 +1376,7 @@ uint8_t omti8621_device::fd_disk_chg_r()
|
||||
DEFINE_DEVICE_TYPE(OMTI_DISK, omti_disk_image_device, "omti_disk_image", "OMTI 8621 ESDI disk")
|
||||
|
||||
omti_disk_image_device::omti_disk_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, OMTI_DISK, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
: harddisk_image_base_device(mconfig, OMTI_DISK, tag, owner, clock)
|
||||
, m_type(0), m_cylinders(0), m_heads(0), m_sectors(0), m_sectorbytes(0), m_sector_count(0), m_image(nullptr)
|
||||
{
|
||||
}
|
||||
|
@ -1285,8 +1285,7 @@ void sc499_device::block_set_filemark()
|
||||
DEFINE_DEVICE_TYPE(SC499_CTAPE, sc499_ctape_image_device, "sc499_ctape", "SC-499 Cartridge Tape")
|
||||
|
||||
sc499_ctape_image_device::sc499_ctape_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, SC499_CTAPE, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
: microtape_image_device(mconfig, SC499_CTAPE, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "bus/isa/isa.h"
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/magtape.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
// ======================> sc499_ctape_image_device
|
||||
|
||||
class sc499_ctape_image_device : public device_t, public device_image_interface
|
||||
class sc499_ctape_image_device : public microtape_image_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -32,18 +32,12 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_MAGTAPE; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return true; }
|
||||
virtual bool is_creatable() const noexcept override { return true; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual bool support_command_line_image_creation() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "sc499_cass"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "act,ct"; }
|
||||
virtual const char *custom_instance_name() const noexcept override { return "ctape"; }
|
||||
virtual const char *custom_brief_instance_name() const noexcept override { return "ct"; }
|
||||
virtual const char *image_type_name() const noexcept override { return "ctape"; }
|
||||
virtual const char *image_brief_type_name() const noexcept override { return "ct"; }
|
||||
|
||||
uint8_t *read_block(int block_num);
|
||||
void write_block(int block_num, uint8_t *ptr);
|
||||
@ -53,9 +47,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override { }
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return image_software_list_loader::instance(); }
|
||||
|
||||
std::vector<uint8_t> m_ctape_data;
|
||||
};
|
||||
|
||||
|
@ -56,7 +56,7 @@ void device_jakks_gamekey_interface::rom_alloc(uint32_t size, const char *tag)
|
||||
//-------------------------------------------------
|
||||
jakks_gamekey_slot_device::jakks_gamekey_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, JAKKS_GAMEKEY_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_jakks_gamekey_interface>(mconfig, *this),
|
||||
m_type(JAKKS_GAMEKEY_PLAIN),
|
||||
m_cart(nullptr)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
@ -49,7 +49,7 @@ protected:
|
||||
// ======================> jakks_gamekey_slot_device
|
||||
|
||||
class jakks_gamekey_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_jakks_gamekey_interface>
|
||||
{
|
||||
public:
|
||||
@ -72,11 +72,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override { }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "jakks_gamekey"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,u1"; }
|
||||
@ -100,9 +95,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_jakks_gamekey_interface* m_cart;
|
||||
};
|
||||
|
@ -300,7 +300,7 @@ WRITE_LINE_MEMBER( kcexp_slot_device::meo_w )
|
||||
//-------------------------------------------------
|
||||
kccart_slot_device::kccart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
kcexp_slot_device(mconfig, KCCART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this)
|
||||
device_cartrom_image_interface(mconfig, *this)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
@ -94,7 +94,7 @@ protected:
|
||||
|
||||
// ======================> kccart_slot_device
|
||||
|
||||
class kccart_slot_device : public kcexp_slot_device, public device_image_interface
|
||||
class kccart_slot_device : public kcexp_slot_device, public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -113,21 +113,12 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "kc_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
|
||||
// slot interface overrides
|
||||
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
|
||||
|
||||
protected:
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
};
|
||||
|
||||
// device type definition
|
||||
|
@ -73,7 +73,7 @@ void device_m5_cart_interface::ram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
m5_cart_slot_device::m5_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, M5_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface(mconfig, *this),
|
||||
m_type(M5_STD),
|
||||
m_cart(nullptr)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -61,7 +61,7 @@ protected:
|
||||
// ======================> m5_cart_slot_device
|
||||
|
||||
class m5_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_m5_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -83,11 +83,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override { }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "m5_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,rom"; }
|
||||
@ -108,9 +103,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_m5_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -58,7 +58,7 @@ DEFINE_DEVICE_TYPE(MC10CART_SLOT, mc10cart_slot_device, "mc10cart_slot", "MC-10
|
||||
mc10cart_slot_device::mc10cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
|
||||
device_t(mconfig, MC10CART_SLOT, tag, owner, clock),
|
||||
device_single_card_slot_interface<device_mc10cart_interface>(mconfig, *this),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
m_nmi_callback(*this),
|
||||
m_cart(nullptr),
|
||||
m_memspace(*this, finder_base::DUMMY_TAG, -1)
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
@ -25,7 +25,7 @@ class device_mc10cart_interface;
|
||||
|
||||
class mc10cart_slot_device final : public device_t,
|
||||
public device_single_card_slot_interface<device_mc10cart_interface>,
|
||||
public device_image_interface
|
||||
public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
|
||||
@ -54,14 +54,7 @@ public:
|
||||
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "mc10_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "mcc,rom"; }
|
||||
|
@ -161,10 +161,9 @@ uint32_t device_md_cart_interface::get_padded_size(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
base_md_cart_slot_device::base_md_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_md_cart_interface>(mconfig, *this),
|
||||
m_type(SEGA_STD), m_cart(nullptr),
|
||||
m_must_be_loaded(1)
|
||||
m_type(SEGA_STD), m_cart(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
/***************************************************************************
|
||||
TYPE DEFINITIONS
|
||||
@ -149,7 +149,7 @@ protected:
|
||||
// ======================> base_md_cart_slot_device
|
||||
|
||||
class base_md_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_md_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -160,11 +160,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return m_must_be_loaded; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
|
||||
// slot interface overrides
|
||||
@ -178,7 +173,6 @@ public:
|
||||
|
||||
void setup_custom_mappers();
|
||||
void setup_nvram();
|
||||
void set_must_be_loaded(bool _must_be_loaded) { m_must_be_loaded = _must_be_loaded; }
|
||||
void file_logging(uint8_t *ROM, uint32_t rom_len, uint32_t nvram_len);
|
||||
|
||||
void save_nvram() { if (m_cart && m_cart->get_nvram_size()) m_cart->save_nvram(); }
|
||||
@ -199,17 +193,12 @@ public:
|
||||
|
||||
int m_type;
|
||||
device_md_cart_interface* m_cart;
|
||||
bool m_must_be_loaded;
|
||||
|
||||
protected:
|
||||
base_md_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
};
|
||||
|
||||
// ======================> md_cart_slot_device
|
||||
|
@ -41,7 +41,7 @@ msx_slot_cartridge_device::msx_slot_cartridge_device(const machine_config &mconf
|
||||
|
||||
msx_slot_cartridge_device::msx_slot_cartridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, type, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_slot_interface(mconfig, *this)
|
||||
, msx_internal_slot_interface(mconfig, *this)
|
||||
, m_irq_handler(*this)
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
#include "slot.h"
|
||||
#include "bus/msx_cart/cartridge.h"
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
DECLARE_DEVICE_TYPE(MSX_SLOT_CARTRIDGE, msx_slot_cartridge_device)
|
||||
@ -15,7 +15,7 @@ DECLARE_DEVICE_TYPE(MSX_SLOT_YAMAHA_EXPANSION, msx_slot_yamaha_expansion_device)
|
||||
|
||||
|
||||
class msx_slot_cartridge_device : public device_t
|
||||
, public device_image_interface
|
||||
, public device_cartrom_image_interface
|
||||
, public device_slot_interface
|
||||
, public msx_internal_slot_interface
|
||||
{
|
||||
@ -29,16 +29,9 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "msx_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "mx1,bin,rom"; }
|
||||
virtual const char *custom_instance_name() const noexcept override { return "cartridge"; }
|
||||
virtual const char *custom_brief_instance_name() const noexcept override { return "cart"; }
|
||||
|
||||
// slot interface overrides
|
||||
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
|
||||
@ -56,9 +49,6 @@ protected:
|
||||
virtual void device_resolve_objects() override;
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
devcb_write_line m_irq_handler;
|
||||
msx_cart_interface *m_cartridge;
|
||||
|
||||
@ -73,8 +63,8 @@ public:
|
||||
msx_slot_yamaha_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual const char *image_interface() const noexcept override { return "msx_yamaha_60pin"; }
|
||||
virtual const char *custom_instance_name() const noexcept override { return "cartridge60pin"; }
|
||||
virtual const char *custom_brief_instance_name() const noexcept override { return "cart60p"; }
|
||||
virtual const char *image_type_name() const noexcept override { return "cartridge60pin"; }
|
||||
virtual const char *image_brief_type_name() const noexcept override { return "cart60p"; }
|
||||
|
||||
protected:
|
||||
virtual void device_start() override;
|
||||
|
@ -99,7 +99,7 @@ void device_neogeo_cart_interface::optimize_sprites(uint8_t* region_sprites, uin
|
||||
//-------------------------------------------------
|
||||
neogeo_cart_slot_device::neogeo_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock) :
|
||||
device_t(mconfig, NEOGEO_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_neogeo_cart_interface>(mconfig, *this),
|
||||
m_cart(nullptr)
|
||||
{
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/* PCB */
|
||||
@ -186,7 +186,7 @@ protected:
|
||||
// ======================> neogeo_cart_slot_device
|
||||
|
||||
class neogeo_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_neogeo_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -207,11 +207,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "neo_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
@ -338,9 +333,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
private:
|
||||
int m_type;
|
||||
device_neogeo_cart_interface* m_cart;
|
||||
|
@ -68,7 +68,7 @@ DEFINE_DEVICE_TYPE(NES_ALADDIN_SLOT, nes_aladdin_slot_device, "nes_ade_slot", "N
|
||||
|
||||
nes_aladdin_slot_device::nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, NES_ALADDIN_SLOT, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<aladdin_cart_interface>(mconfig, *this)
|
||||
, m_cart(nullptr)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "nxrom.h"
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
//----------------------------------
|
||||
@ -44,7 +44,7 @@ protected:
|
||||
class nes_aladdin_device;
|
||||
|
||||
class nes_aladdin_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<aladdin_cart_interface>
|
||||
{
|
||||
friend class nes_aladdin_device;
|
||||
@ -66,11 +66,6 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "ade_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "nes,bin"; }
|
||||
@ -85,9 +80,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
aladdin_cart_interface* m_cart;
|
||||
};
|
||||
|
||||
|
@ -68,7 +68,7 @@ DEFINE_DEVICE_TYPE(NES_DATACH_SLOT, nes_datach_slot_device, "nes_datach_slot", "
|
||||
|
||||
nes_datach_slot_device::nes_datach_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, NES_DATACH_SLOT, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<datach_cart_interface>(mconfig, *this)
|
||||
, m_cart(nullptr)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "bandai.h"
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
#include "machine/i2cmem.h"
|
||||
#include "machine/bcreader.h"
|
||||
|
||||
@ -46,7 +46,7 @@ protected:
|
||||
class nes_datach_device;
|
||||
|
||||
class nes_datach_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<datach_cart_interface>
|
||||
{
|
||||
friend class nes_datach_device;
|
||||
@ -67,11 +67,6 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "datach_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "nes,bin"; }
|
||||
@ -86,9 +81,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
datach_cart_interface* m_cart;
|
||||
};
|
||||
|
||||
|
@ -72,7 +72,7 @@ DEFINE_DEVICE_TYPE(NES_KSEXPANSION_SLOT, nes_kstudio_slot_device, "nes_ks_slot",
|
||||
|
||||
nes_kstudio_slot_device::nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, NES_KSEXPANSION_SLOT, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<kstudio_cart_interface>(mconfig, *this)
|
||||
, m_cart(nullptr)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "nxrom.h"
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
//-----------------------------------------
|
||||
@ -43,7 +43,7 @@ protected:
|
||||
class nes_karaokestudio_device;
|
||||
|
||||
class nes_kstudio_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<kstudio_cart_interface>
|
||||
{
|
||||
friend class nes_karaokestudio_device;
|
||||
@ -65,11 +65,6 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "ks_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
@ -84,9 +79,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
kstudio_cart_interface* m_cart;
|
||||
};
|
||||
|
||||
|
@ -760,12 +760,11 @@ void device_nes_cart_interface::nes_banks_restore()
|
||||
//-------------------------------------------------
|
||||
nes_cart_slot_device::nes_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, NES_CART_SLOT, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<device_nes_cart_interface>(mconfig, *this)
|
||||
, m_crc_hack(0)
|
||||
, m_cart(nullptr)
|
||||
, m_pcb_id(NO_BOARD)
|
||||
, m_must_be_loaded(1)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -383,7 +383,7 @@ public:
|
||||
// ======================> nes_cart_slot_device
|
||||
|
||||
class nes_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_nes_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -404,11 +404,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return m_must_be_loaded; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "nes_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "nes,unf,unif"; }
|
||||
@ -440,20 +435,14 @@ public:
|
||||
|
||||
int get_crc_hack() { return m_crc_hack; }
|
||||
|
||||
void set_must_be_loaded(bool _must_be_loaded) { m_must_be_loaded = _must_be_loaded; }
|
||||
|
||||
//private:
|
||||
device_nes_cart_interface* m_cart;
|
||||
int m_pcb_id;
|
||||
bool m_must_be_loaded;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
const char * get_default_card_ines(get_default_card_software_hook &hook, const uint8_t *ROM, uint32_t len) const;
|
||||
static const char * get_default_card_unif(const uint8_t *ROM, uint32_t len);
|
||||
static const char * nes_get_slot(int pcb_id);
|
||||
|
@ -52,7 +52,7 @@ DEFINE_DEVICE_TYPE(NES_NTB_SLOT, nes_ntb_slot_device, "nes_ntb_slot", "NES NTB C
|
||||
|
||||
nes_ntb_slot_device::nes_ntb_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, NES_NTB_SLOT, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<ntb_cart_interface>(mconfig, *this)
|
||||
, m_cart(nullptr)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "sunsoft.h"
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
@ -40,7 +40,7 @@ protected:
|
||||
class nes_sunsoft_dcs_device;
|
||||
|
||||
class nes_ntb_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<ntb_cart_interface>
|
||||
{
|
||||
friend class nes_sunsoft_dcs_device;
|
||||
@ -62,11 +62,6 @@ public:
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "ntb_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
@ -80,9 +75,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
ntb_cart_interface* m_cart;
|
||||
};
|
||||
|
||||
|
@ -41,16 +41,13 @@ public:
|
||||
messimg_disk_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// image-level overrides
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_QUICKLOAD; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return true; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual const char *file_extensions() const noexcept override { return "img"; }
|
||||
virtual const char *custom_instance_name() const noexcept override { return "disk"; }
|
||||
virtual const char *custom_brief_instance_name() const noexcept override { return "disk"; }
|
||||
virtual const char *image_type_name() const noexcept override { return "disk"; }
|
||||
virtual const char *image_brief_type_name() const noexcept override { return "disk"; }
|
||||
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
@ -52,7 +52,7 @@ device_o2_cart_interface::~device_o2_cart_interface()
|
||||
|
||||
o2_cart_slot_device::o2_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: device_t(mconfig, O2_CART_SLOT, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<device_o2_cart_interface>(mconfig, *this)
|
||||
, m_type(O2_STD)
|
||||
, m_cart(nullptr)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
/*
|
||||
|
||||
@ -94,7 +94,7 @@ protected:
|
||||
// ======================> o2_cart_slot_device
|
||||
|
||||
class o2_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_o2_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -116,11 +116,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override { }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return true; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "odyssey_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,rom"; }
|
||||
@ -148,9 +143,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_o2_cart_interface* m_cart;
|
||||
int m_b;
|
||||
|
@ -136,7 +136,7 @@ void device_pce_cart_interface::rom_map_setup(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
pce_cart_slot_device::pce_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, PCE_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_pce_cart_interface>(mconfig, *this),
|
||||
m_interface("pce_cart"),
|
||||
m_type(PCE_STD), m_cart(nullptr)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -61,7 +61,7 @@ protected:
|
||||
// ======================> pce_cart_slot_device
|
||||
|
||||
class pce_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_pce_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -84,11 +84,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return true; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return m_interface; }
|
||||
virtual const char *file_extensions() const noexcept override { return "pce,bin"; }
|
||||
@ -109,9 +104,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
const char *m_interface;
|
||||
int m_type;
|
||||
device_pce_cart_interface *m_cart;
|
||||
|
@ -67,7 +67,7 @@ device_plus4_expansion_card_interface::~device_plus4_expansion_card_interface()
|
||||
plus4_expansion_slot_device::plus4_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, PLUS4_EXPANSION_SLOT, tag, owner, clock),
|
||||
device_single_card_slot_interface<device_plus4_expansion_card_interface>(mconfig, *this),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
m_write_irq(*this),
|
||||
m_read_dma_cd(*this),
|
||||
m_write_dma_cd(*this),
|
||||
|
@ -39,7 +39,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -52,7 +52,7 @@ class device_plus4_expansion_card_interface;
|
||||
|
||||
class plus4_expansion_slot_device : public device_t,
|
||||
public device_single_card_slot_interface<device_plus4_expansion_card_interface>,
|
||||
public device_image_interface
|
||||
public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -89,14 +89,7 @@ protected:
|
||||
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "plus4_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "rom,bin"; }
|
||||
|
@ -9,6 +9,8 @@
|
||||
#include "emu.h"
|
||||
#include "ccm.h"
|
||||
|
||||
#include "softlist_dev.h"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -46,7 +48,7 @@ device_portfolio_memory_card_slot_interface::device_portfolio_memory_card_slot_i
|
||||
portfolio_memory_card_slot_device::portfolio_memory_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, PORTFOLIO_MEMORY_CARD_SLOT, tag, owner, clock),
|
||||
device_single_card_slot_interface<device_portfolio_memory_card_slot_interface>(mconfig, *this),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_memcard_image_interface(mconfig, *this),
|
||||
m_card(nullptr)
|
||||
{
|
||||
}
|
||||
@ -80,6 +82,16 @@ image_init_result portfolio_memory_card_slot_device::call_load()
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// get_software_list_loader -
|
||||
//-------------------------------------------------
|
||||
|
||||
const software_list_loader &portfolio_memory_card_slot_device::get_software_list_loader() const
|
||||
{
|
||||
return rom_software_list_loader::instance();
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// get_default_card_software -
|
||||
//-------------------------------------------------
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/memcard.h"
|
||||
|
||||
|
||||
|
||||
@ -92,7 +92,7 @@ protected:
|
||||
|
||||
class portfolio_memory_card_slot_device : public device_t,
|
||||
public device_single_card_slot_interface<device_portfolio_memory_card_slot_interface>,
|
||||
public device_image_interface
|
||||
public device_memcard_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -120,14 +120,8 @@ protected:
|
||||
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
virtual const software_list_loader &get_software_list_loader() const override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return true; }
|
||||
virtual bool is_creatable() const noexcept override { return true; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "pofo_card"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "rom,bin"; }
|
||||
|
@ -43,7 +43,7 @@ enum transfer_states
|
||||
|
||||
psxcard_device::psxcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, PSXCARD, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_memcard_image_interface(mconfig, *this),
|
||||
pkt_ptr(0),
|
||||
pkt_sz(0),
|
||||
cmd(0),
|
||||
|
@ -5,22 +5,18 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "imagedev/memcard.h"
|
||||
|
||||
|
||||
class psx_controller_port_device;
|
||||
|
||||
|
||||
class psxcard_device : public device_t,
|
||||
public device_image_interface
|
||||
public device_memcard_image_interface
|
||||
{
|
||||
public:
|
||||
psxcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_MEMCARD; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return true; }
|
||||
virtual bool is_creatable() const noexcept override { return true; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual const char *file_extensions() const noexcept override { return "mc"; }
|
||||
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
DEC PC11 paper tape reader and punch controller (punch not implemented)
|
||||
|
||||
FIXME: PC11 is a Unibus device with no direct Q-bus counterpart
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
@ -53,8 +55,7 @@ const char* pc11_regnames[] = {
|
||||
//-------------------------------------------------
|
||||
|
||||
pc11_device::pc11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, DEC_PC11, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
: paper_tape_reader_device(mconfig, DEC_PC11, tag, owner, clock)
|
||||
, device_qbus_card_interface(mconfig, *this)
|
||||
, m_rxvec(070)
|
||||
, m_txvec(074)
|
||||
|
@ -13,8 +13,8 @@
|
||||
|
||||
#include "qbus.h"
|
||||
|
||||
#include "imagedev/papertape.h"
|
||||
#include "machine/pdp11.h"
|
||||
#include "softlist_dev.h"
|
||||
|
||||
|
||||
#define PTRCSR_IMP (CSR_ERR + CSR_BUSY + CSR_DONE + CSR_IE)
|
||||
@ -29,8 +29,7 @@
|
||||
|
||||
// ======================> pc11_device
|
||||
|
||||
class pc11_device : public device_t,
|
||||
public device_image_interface,
|
||||
class pc11_device : public paper_tape_reader_device,
|
||||
public device_qbus_card_interface
|
||||
{
|
||||
public:
|
||||
@ -38,19 +37,11 @@ public:
|
||||
pc11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// image-level overrides
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_PUNCHTAPE; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return false; }
|
||||
virtual const char *image_interface() const noexcept override { return "pdp11_ptap"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin,bim,lda"; }
|
||||
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return image_software_list_loader::instance(); }
|
||||
|
||||
uint16_t read(offs_t offset);
|
||||
void write(offs_t offset, uint16_t data);
|
||||
|
@ -62,7 +62,8 @@ void device_ql_rom_cartridge_card_interface::interface_post_start()
|
||||
ql_rom_cartridge_slot_device::ql_rom_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, QL_ROM_CARTRIDGE_SLOT, tag, owner, clock),
|
||||
device_single_card_slot_interface<device_ql_rom_cartridge_card_interface>(mconfig, *this),
|
||||
device_image_interface(mconfig, *this), m_card(nullptr)
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
m_card(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -70,7 +70,7 @@ protected:
|
||||
|
||||
class ql_rom_cartridge_slot_device : public device_t,
|
||||
public device_single_card_slot_interface<device_ql_rom_cartridge_card_interface>,
|
||||
public device_image_interface
|
||||
public device_cartrom_image_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
@ -97,14 +97,7 @@ protected:
|
||||
|
||||
// image-level overrides
|
||||
virtual image_init_result call_load() override;
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "ql_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "rom,bin"; }
|
||||
|
@ -104,7 +104,7 @@ void device_sat_cart_interface::dram1_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
sat_cart_slot_device::sat_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, SATURN_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_sat_cart_interface>(mconfig, *this),
|
||||
m_cart(nullptr)
|
||||
{
|
||||
|
@ -3,7 +3,7 @@
|
||||
#ifndef MAME_BUS_SATURN_SAT_SLOT_H
|
||||
#define MAME_BUS_SATURN_SAT_SLOT_H
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -62,7 +62,7 @@ protected:
|
||||
// ======================> sat_cart_slot_device
|
||||
|
||||
class sat_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_sat_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -83,11 +83,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override;
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "sat_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
@ -110,9 +105,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
private:
|
||||
device_sat_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -73,7 +73,7 @@ void device_scv_cart_interface::ram_alloc(uint32_t size)
|
||||
//-------------------------------------------------
|
||||
scv_cart_slot_device::scv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
device_t(mconfig, SCV_CART_SLOT, tag, owner, clock),
|
||||
device_image_interface(mconfig, *this),
|
||||
device_cartrom_image_interface(mconfig, *this),
|
||||
device_single_card_slot_interface<device_scv_cart_interface>(mconfig, *this),
|
||||
m_type(SCV_8K), m_cart(nullptr)
|
||||
{
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
@ -61,7 +61,7 @@ protected:
|
||||
// ======================> scv_cart_slot_device
|
||||
|
||||
class scv_cart_slot_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_cartrom_image_interface,
|
||||
public device_single_card_slot_interface<device_scv_cart_interface>
|
||||
{
|
||||
public:
|
||||
@ -83,11 +83,6 @@ public:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override { }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_CARTSLOT; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "scv_cart"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
@ -109,9 +104,6 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// device_image_interface implementation
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
int m_type;
|
||||
device_scv_cart_interface* m_cart;
|
||||
};
|
||||
|
@ -16,7 +16,7 @@ DEFINE_DEVICE_TYPE(SDK85_ROMEXP, sdk85_romexp_device, "sdk85_romexp", "SDK-85 ex
|
||||
|
||||
sdk85_romexp_device::sdk85_romexp_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: device_t(mconfig, SDK85_ROMEXP, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_rom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<device_sdk85_romexp_card_interface>(mconfig, *this)
|
||||
, m_dev(nullptr)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "softlist_dev.h"
|
||||
#include "imagedev/cartrom.h"
|
||||
|
||||
// ======================> device_sdk85_romexp_card_interface
|
||||
|
||||
@ -28,7 +28,7 @@ protected:
|
||||
// ======================> sdk85_romexp_device
|
||||
|
||||
class sdk85_romexp_device : public device_t,
|
||||
public device_image_interface,
|
||||
public device_rom_image_interface,
|
||||
public device_single_card_slot_interface<device_sdk85_romexp_card_interface>
|
||||
{
|
||||
public:
|
||||
@ -59,17 +59,10 @@ protected:
|
||||
virtual image_init_result call_load() override;
|
||||
virtual void call_unload() override { }
|
||||
|
||||
virtual iodevice_t image_type() const noexcept override { return IO_ROM; }
|
||||
virtual bool is_readable() const noexcept override { return true; }
|
||||
virtual bool is_writeable() const noexcept override { return false; }
|
||||
virtual bool is_creatable() const noexcept override { return false; }
|
||||
virtual bool must_be_loaded() const noexcept override { return false; }
|
||||
virtual bool is_reset_on_load() const noexcept override { return true; }
|
||||
virtual const char *image_interface() const noexcept override { return "sdk85_rom"; }
|
||||
virtual const char *file_extensions() const noexcept override { return "bin"; }
|
||||
|
||||
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
|
||||
|
||||
// slot interface overrides
|
||||
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
|
||||
|
||||
|
@ -118,7 +118,7 @@ void device_sega8_cart_interface::ram_alloc(uint32_t size)
|
||||
|
||||
sega8_cart_slot_device::sega8_cart_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_card)
|
||||
: device_t(mconfig, type, tag, owner, clock)
|
||||
, device_image_interface(mconfig, *this)
|
||||
, device_cartrom_image_interface(mconfig, *this)
|
||||
, device_single_card_slot_interface<device_sega8_cart_interface>(mconfig, *this)
|
||||
, m_type(SEGA8_BASE_ROM)
|
||||
, m_is_card(is_card)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user