summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/galgames.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/galgames.cpp')
-rw-r--r--src/mame/drivers/galgames.cpp51
1 files changed, 37 insertions, 14 deletions
diff --git a/src/mame/drivers/galgames.cpp b/src/mame/drivers/galgames.cpp
index 67d71171c56..88f9ead0c23 100644
--- a/src/mame/drivers/galgames.cpp
+++ b/src/mame/drivers/galgames.cpp
@@ -54,19 +54,25 @@ Notes:
***************************************************************************/
class galgames_slot_device;
+extern const device_type GALGAMES_CART;
+extern const device_type GALGAMES_BIOS_CART;
+extern const device_type GALGAMES_STARPAK2_CART;
+extern const device_type GALGAMES_STARPAK3_CART;
+extern const device_type GALGAMES_SLOT;
// CART declaration
-class galgames_cart_device : public device_t,
- public device_rom_interface
+class galgames_cart_device : public device_t, public device_rom_interface
{
public:
// construction/destruction
- galgames_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ galgames_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ galgames_cart_device(mconfig, GALGAMES_CART, "Galaxy Games StarPak Cartridge", tag, owner, clock, "starpak_cart", __FILE__)
+ { }
// static configuration
static void static_set_cart(device_t &device, uint8_t cart) { downcast<galgames_cart_device &>(device).m_cart = cart; }
- static void static_set_pic_bits(device_t &device, int clk, int in, int out, int dis) { downcast<galgames_cart_device &>(device).set_pic_bits(clk, in, out, dis); }
+ static void static_set_pic_bits(device_t &device, int clk, int in, int out, int dis) { downcast<galgames_cart_device &>(device).set_pic_bits(clk, in, out, dis); }
// ROM
DECLARE_READ16_MEMBER(rom_r) { return read_word(offset*2); }
@@ -87,6 +93,16 @@ public:
DECLARE_WRITE8_MEMBER(int_pic_bank_w);
protected:
+ galgames_cart_device(
+ const machine_config &mconfig,
+ device_type type,
+ const char *name,
+ const char *tag,
+ device_t *owner,
+ uint32_t clock,
+ const char *shortname,
+ const char *source);
+
// device-level overrides
virtual void device_start() override { }
virtual void device_reset() override;
@@ -135,12 +151,12 @@ static MACHINE_CONFIG_FRAGMENT( bios )
MCFG_EEPROM_SERIAL_93C76_8BIT_ADD("eeprom")
MACHINE_CONFIG_END
-class galgames_bios_cart_device : public galgames_cart_device
+class galgames_bios_cart_device : public galgames_cart_device
{
public:
// construction/destruction
galgames_bios_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- galgames_cart_device(mconfig, tag, owner, clock)
+ galgames_cart_device(mconfig, GALGAMES_BIOS_CART, "Galaxy Games BIOS Cartridge", tag, owner, clock, "galgames_bios_cart", __FILE__)
{ }
protected:
// device-level overrides
@@ -165,12 +181,12 @@ static MACHINE_CONFIG_FRAGMENT( starpak2 )
MCFG_EEPROM_SERIAL_93C76_8BIT_ADD("eeprom")
MACHINE_CONFIG_END
-class galgames_starpak2_cart_device : public galgames_cart_device
+class galgames_starpak2_cart_device : public galgames_cart_device
{
public:
// construction/destruction
galgames_starpak2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- galgames_cart_device(mconfig, tag, owner, clock)
+ galgames_cart_device(mconfig, GALGAMES_STARPAK2_CART, "Galaxy Games StarPak 3 Cartridge", tag, owner, clock, "starpak2_cart", __FILE__)
{ }
protected:
// device-level overrides
@@ -197,12 +213,12 @@ static MACHINE_CONFIG_FRAGMENT( starpak3 )
MCFG_EEPROM_SERIAL_93C76_8BIT_ADD("eeprom")
MACHINE_CONFIG_END
-class galgames_starpak3_cart_device : public galgames_cart_device
+class galgames_starpak3_cart_device : public galgames_cart_device
{
public:
// construction/destruction
galgames_starpak3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- galgames_cart_device(mconfig, tag, owner, clock)
+ galgames_cart_device(mconfig, GALGAMES_STARPAK3_CART, "Galaxy Games StarPak 3 Cartridge", tag, owner, clock, "starpak3_cart", __FILE__)
{ }
protected:
// device-level overrides
@@ -226,8 +242,7 @@ const device_type GALGAMES_STARPAK3_CART = device_creator<galgames_starpak3_cart
// SLOT declaration
-class galgames_slot_device : public device_t,
- public device_memory_interface
+class galgames_slot_device : public device_t, public device_memory_interface
{
public:
// construction/destruction
@@ -298,8 +313,16 @@ const device_type GALGAMES_SLOT = device_creator<galgames_slot_device>;
// CART implementation
-galgames_cart_device::galgames_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, GALGAMES_CART, "Galaxy Games StarPak Cartridge", tag, owner, clock, "starpak_cart", __FILE__),
+galgames_cart_device::galgames_cart_device(
+ const machine_config &mconfig,
+ device_type type,
+ const char *name,
+ const char *tag,
+ device_t *owner,
+ uint32_t clock,
+ const char *shortname,
+ const char *source):
+ device_t(mconfig, type, name, tag, owner, clock, shortname, source),
device_rom_interface(mconfig, *this, 21, ENDIANNESS_BIG, 16),
m_mconfig_additions(nullptr),
m_cart(0),