summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/sega8/sega8_slot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/sega8/sega8_slot.cpp')
-rw-r--r--src/devices/bus/sega8/sega8_slot.cpp91
1 files changed, 6 insertions, 85 deletions
diff --git a/src/devices/bus/sega8/sega8_slot.cpp b/src/devices/bus/sega8/sega8_slot.cpp
index e897f6c53e8..3242654b829 100644
--- a/src/devices/bus/sega8/sega8_slot.cpp
+++ b/src/devices/bus/sega8/sega8_slot.cpp
@@ -40,16 +40,6 @@
DEFINE_DEVICE_TYPE(SEGA8_CART_SLOT, sega8_cart_slot_device, "sega8_cart_slot", "Sega Master System / Game Gear / SG-1000 Cartridge Slot")
DEFINE_DEVICE_TYPE(SEGA8_CARD_SLOT, sega8_card_slot_device, "sega8_card_slot", "Sega Master System / Game Gear / SG-1000 Card Slot")
-DEFINE_DEVICE_TYPE(SG1000_CART_SLOT, sg1000_cart_slot_device, "sg1000_cart_slot", "Sega SG-1000 Cartridge Slot")
-DEFINE_DEVICE_TYPE(OMV_CART_SLOT, omv_cart_slot_device, "omv_cart_slot", "Tsukuda Original Othello Multivision FG-1000 / FG-2000 Cartridge Slot")
-DEFINE_DEVICE_TYPE(SC3000_CART_SLOT, sc3000_cart_slot_device, "sc3000_cart_slot", "Sega SC-3000 Cartridge Slot")
-DEFINE_DEVICE_TYPE(SG1000MK3_CART_SLOT, sg1000mk3_cart_slot_device, "sg1000mk3_cart_slot", "Sega SG-1000 Mark III Cartridge Slot")
-DEFINE_DEVICE_TYPE(SMS_CART_SLOT, sms_cart_slot_device, "sms_cart_slot", "Sega Master System Cartridge Slot")
-DEFINE_DEVICE_TYPE(GAMEGEAR_CART_SLOT, gamegear_cart_slot_device, "gamegear_cart_slot", "Sega Game Gear Cartridge Slot")
-
-DEFINE_DEVICE_TYPE(SMS_CARD_SLOT, sms_card_slot_device, "sms_card_slot", "Sega Master System Card Slot")
-DEFINE_DEVICE_TYPE(SG1000_CARD_SLOT, sg1000_card_slot_device, "sg1000_card_slot", "Sega SG-1000 Card Slot")
-
//**************************************************************************
// SMS cartridges Interface
@@ -122,7 +112,10 @@ sega8_cart_slot_device::sega8_cart_slot_device(const machine_config &mconfig, de
, device_image_interface(mconfig, *this)
, device_slot_interface(mconfig, *this)
, m_type(SEGA8_BASE_ROM)
+ , m_must_be_loaded(false)
, m_is_card(is_card)
+ , m_interface("sms_cart")
+ , m_extensions("bin")
, m_cart(nullptr)
{
}
@@ -132,57 +125,11 @@ sega8_cart_slot_device::sega8_cart_slot_device(const machine_config &mconfig, co
{
}
-sega8_card_slot_device::sega8_card_slot_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, type, tag, owner, clock, true)
-{
-}
-
sega8_card_slot_device::sega8_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_card_slot_device(mconfig, SEGA8_CARD_SLOT, tag, owner, clock)
-{
-}
-
-
-sg1000_cart_slot_device::sg1000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, SG1000_CART_SLOT, tag, owner, clock)
-{
-}
-
-omv_cart_slot_device::omv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, OMV_CART_SLOT, tag, owner, clock)
-{
-}
-
-sc3000_cart_slot_device::sc3000_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, SC3000_CART_SLOT, tag, owner, clock)
-{
-}
-
-sg1000mk3_cart_slot_device::sg1000mk3_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, SG1000MK3_CART_SLOT, tag, owner, clock)
-{
-}
-
-sms_cart_slot_device::sms_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, SMS_CART_SLOT, tag, owner, clock)
+ : sega8_cart_slot_device(mconfig, SEGA8_CARD_SLOT, tag, owner, clock, true)
{
}
-gamegear_cart_slot_device::gamegear_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_cart_slot_device(mconfig, GAMEGEAR_CART_SLOT, tag, owner, clock)
-{
-}
-
-
-sms_card_slot_device::sms_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_card_slot_device(mconfig, SMS_CARD_SLOT, tag, owner, clock)
-{
-}
-
-sg1000_card_slot_device::sg1000_card_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_card_slot_device(mconfig, SG1000_CARD_SLOT, tag, owner, clock)
-{
-}
//-------------------------------------------------
// sega8_cart_slot_device - destructor
@@ -231,9 +178,7 @@ static const sega8_slot slot_list[] =
{ SEGA8_MUSIC_EDITOR, "music_editor" },
{ SEGA8_DAHJEE_TYPEA, "dahjee_typea" },
{ SEGA8_DAHJEE_TYPEB, "dahjee_typeb" },
- { SEGA8_SEOJIN, "seojin" },
- { SEGA8_MULTICART, "multicart" },
- { SEGA8_MEGACART, "megacart" }
+ { SEGA8_SEOJIN, "seojin" }
};
static int sega8_get_pcb_id(const char *slot)
@@ -332,7 +277,7 @@ void sega8_cart_slot_device::setup_ram()
m_cart->ram_alloc(0x800);
m_cart->set_has_battery(false);
}
- else if (m_type == SEGA8_BASIC_L3 || m_type == SEGA8_MULTICART || m_type == SEGA8_MEGACART)
+ else if (m_type == SEGA8_BASIC_L3)
{
m_cart->ram_alloc(0x8000);
m_cart->set_has_battery(false);
@@ -639,14 +584,6 @@ int sega8_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len) cons
type = SEGA8_MUSIC_EDITOR;
}
- // SC-3000 Survivors Multicart
- if (len == 0x200000)
- type = SEGA8_MULTICART;
-
- // SC-3000 Survivors Megacart
- if (len == 0x400000)
- type = SEGA8_MEGACART;
-
return type;
}
@@ -701,14 +638,6 @@ READ8_MEMBER(sega8_cart_slot_device::read_ram)
return 0xff;
}
-READ8_MEMBER(sega8_cart_slot_device::read_io)
-{
- if (m_cart)
- return m_cart->read_io(space, offset);
- else
- return 0xff;
-}
-
/*-------------------------------------------------
write
@@ -732,12 +661,6 @@ WRITE8_MEMBER(sega8_cart_slot_device::write_ram)
m_cart->write_ram(space, offset, data);
}
-WRITE8_MEMBER(sega8_cart_slot_device::write_io)
-{
- if (m_cart)
- m_cart->write_io(space, offset, data);
-}
-
/*-------------------------------------------------
Internal header logging
@@ -894,8 +817,6 @@ void sg1000_cart(device_slot_interface &device)
device.option_add_internal("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA);
device.option_add_internal("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB);
device.option_add_internal("cardcatcher", SEGA8_ROM_CARDCATCH);
- device.option_add_internal("multicart", SEGA8_ROM_MULTICART);
- device.option_add_internal("megacart", SEGA8_ROM_MEGACART);
}
void sg1000mk3_cart(device_slot_interface &device)