summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/sega8/rom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/sega8/rom.cpp')
-rw-r--r--src/devices/bus/sega8/rom.cpp126
1 files changed, 67 insertions, 59 deletions
diff --git a/src/devices/bus/sega8/rom.cpp b/src/devices/bus/sega8/rom.cpp
index 7ef04ca9c79..f5a154308f7 100644
--- a/src/devices/bus/sega8/rom.cpp
+++ b/src/devices/bus/sega8/rom.cpp
@@ -19,87 +19,89 @@
// Base cart type shared across SG-1000, SG-1000 Mark II, SG-1000 Mark III, SMS, GG
// even if in sg1000 rom banks are never changed and ram is never enabled
-const device_type SEGA8_ROM_STD = device_creator<sega8_rom_device>;
+DEFINE_DEVICE_TYPE(SEGA8_ROM_STD, sega8_rom_device, "sega8_rom", "SG-1000, SMS & GG Carts")
// Specific SG-1000 MkI - MkII cart types
-const device_type SEGA8_ROM_OTHELLO = device_creator<sega8_othello_device>;
-const device_type SEGA8_ROM_CASTLE = device_creator<sega8_castle_device>;
-const device_type SEGA8_ROM_BASIC_L3 = device_creator<sega8_basic_l3_device>;
-const device_type SEGA8_ROM_MUSIC_EDITOR = device_creator<sega8_music_editor_device>;
-const device_type SEGA8_ROM_TEREBI = device_creator<sega8_terebi_device>;
-const device_type SEGA8_ROM_DAHJEE_TYPEA = device_creator<sega8_dahjee_typea_device>;
-const device_type SEGA8_ROM_DAHJEE_TYPEB = device_creator<sega8_dahjee_typeb_device>;
+DEFINE_DEVICE_TYPE(SEGA8_ROM_OTHELLO, sega8_othello_device, "sega8_othello", "SG-1000 Othello Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_CASTLE, sega8_castle_device, "sega8_castle", "SG-1000 The Castle Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_BASIC_L3, sega8_basic_l3_device, "sega8_basicl3", "SC-3000 BASIC Level III Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_MUSIC_EDITOR, sega8_music_editor_device, "sega8_music", "SC-3000 Music Editor Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_TEREBI, sega8_terebi_device, "sega8_terebi", "SG-1000 Terebi Oekaki Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_DAHJEE_TYPEA, sega8_dahjee_typea_device, "sega8_dahjeea", "SG-1000 Dahjee RAM expansion + Cart (Type A)")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_DAHJEE_TYPEB, sega8_dahjee_typeb_device, "sega8_dahjeeb", "SG-1000 Dahjee RAM expansion + Cart (Type B)")
// Specific SG-1000 MkIII - SMS - GG cart types
-const device_type SEGA8_ROM_EEPROM = device_creator<sega8_eeprom_device>;
-const device_type SEGA8_ROM_CODEMASTERS = device_creator<sega8_codemasters_device>;
-const device_type SEGA8_ROM_4PAK = device_creator<sega8_4pak_device>;
-const device_type SEGA8_ROM_ZEMINA = device_creator<sega8_zemina_device>;
-const device_type SEGA8_ROM_NEMESIS = device_creator<sega8_nemesis_device>;
-const device_type SEGA8_ROM_JANGGUN = device_creator<sega8_janggun_device>;
-const device_type SEGA8_ROM_HICOM = device_creator<sega8_hicom_device>;
-const device_type SEGA8_ROM_KOREAN = device_creator<sega8_korean_device>;
-const device_type SEGA8_ROM_KOREAN_NB = device_creator<sega8_korean_nb_device>;
-const device_type SEGA8_ROM_SEOJIN = device_creator<sega8_seojin_device>;
+DEFINE_DEVICE_TYPE(SEGA8_ROM_EEPROM, sega8_eeprom_device, "sega8_eeprom", "GG Carts + EEPROM")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_CODEMASTERS, sega8_codemasters_device, "sega8_codemasters", "Mark III, SMS & GG Codemasters Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_4PAK, sega8_4pak_device, "sega8_4pak", "SMS 4-Pak Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_ZEMINA, sega8_zemina_device, "sega8_zemina", "SMS Zemina Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_NEMESIS, sega8_nemesis_device, "sega8_nemesis", "SMS Nemesis Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_JANGGUN, sega8_janggun_device, "sega8_janggun", "SMS Janggun Cart")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_HICOM, sega8_hicom_device, "sega8_hicom", "SMS Hi-Com Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_KOREAN, sega8_korean_device, "sega8_korean", "SMS Korean Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_KOREAN_NB, sega8_korean_nb_device, "sega8_korean_nb", "SMS Korean No-Bank Mapper Carts")
+DEFINE_DEVICE_TYPE(SEGA8_ROM_SEOJIN, sega8_seojin_device, "sega8_seojin", "SMS Seo Jin Multi-cart")
-sega8_rom_device::sega8_rom_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_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+sega8_rom_device::sega8_rom_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_sega8_cart_interface(mconfig, *this)
+ , m_ram_base(0)
+ , m_ram_enabled(0)
+{
}
sega8_rom_device::sega8_rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_STD, "Mark III, SMS & GG Carts", tag, owner, clock, "sega8_rom", __FILE__),
- device_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+ : sega8_rom_device(mconfig, SEGA8_ROM_STD, tag, owner, clock)
+{
}
sega8_othello_device::sega8_othello_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_OTHELLO, "SG-1000 Othello Cart", tag, owner, clock, "sega8_othello", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_OTHELLO, tag, owner, clock)
{
}
sega8_castle_device::sega8_castle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_CASTLE, "SG-1000 The Castle Cart", tag, owner, clock, "sega8_castle", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_CASTLE, tag, owner, clock)
{
}
sega8_basic_l3_device::sega8_basic_l3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_BASIC_L3, "SC-3000 BASIC Level III Cart", tag, owner, clock, "sega8_basicl3", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_BASIC_L3, tag, owner, clock)
{
}
sega8_music_editor_device::sega8_music_editor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_MUSIC_EDITOR, "SC-3000 Music Editor Cart", tag, owner, clock, "sega8_music", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_MUSIC_EDITOR, tag, owner, clock)
{
}
sega8_terebi_device::sega8_terebi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_TEREBI, "SG-1000 Terebi Oekaki Cart", tag, owner, clock, "sega8_terebi", __FILE__),
- m_tvdraw_x(*this, "TVDRAW_X"),
- m_tvdraw_y(*this, "TVDRAW_Y"),
- m_tvdraw_pen(*this, "TVDRAW_PEN"), m_tvdraw_data(0)
- {
+ : sega8_rom_device(mconfig, SEGA8_ROM_TEREBI, tag, owner, clock)
+ , m_tvdraw_x(*this, "TVDRAW_X")
+ , m_tvdraw_y(*this, "TVDRAW_Y")
+ , m_tvdraw_pen(*this, "TVDRAW_PEN")
+ , m_tvdraw_data(0)
+{
}
sega8_dahjee_typea_device::sega8_dahjee_typea_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_DAHJEE_TYPEA, "SG-1000 Dahjee RAM expansion + Cart (Type A)", tag, owner, clock, "sega8_dahjeea", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_DAHJEE_TYPEA, tag, owner, clock)
{
}
sega8_dahjee_typeb_device::sega8_dahjee_typeb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_DAHJEE_TYPEB, "SG-1000 Dahjee RAM expansion + Cart (Type B)", tag, owner, clock, "sega8_dahjeeb", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_DAHJEE_TYPEB, tag, owner, clock)
{
}
@@ -107,72 +109,78 @@ sega8_dahjee_typeb_device::sega8_dahjee_typeb_device(const machine_config &mconf
sega8_eeprom_device::sega8_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_EEPROM, "GG Carts + EEPROM", tag, owner, clock, "sega8_eeprom", __FILE__),
- device_sega8_cart_interface( mconfig, *this ),
- m_eeprom(*this, "eeprom"), m_93c46_enabled(0), m_93c46_lines(0)
- {
+ : device_t(mconfig, SEGA8_ROM_EEPROM, tag, owner, clock)
+ , device_sega8_cart_interface(mconfig, *this)
+ , m_eeprom(*this, "eeprom")
+ , m_93c46_enabled(0)
+ , m_93c46_lines(0)
+{
}
sega8_codemasters_device::sega8_codemasters_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_CODEMASTERS, "Mark III, SMS & GG Codemasters Carts", tag, owner, clock, "sega8_codemasters", __FILE__),
- device_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+ : device_t(mconfig, SEGA8_ROM_CODEMASTERS, tag, owner, clock)
+ , device_sega8_cart_interface(mconfig, *this)
+ , m_ram_base(0)
+ , m_ram_enabled(0)
+{
}
sega8_4pak_device::sega8_4pak_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_4PAK, "SMS 4-Pak Cart", tag, owner, clock, "sega8_4pak", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_4PAK, tag, owner, clock)
{
}
-sega8_zemina_device::sega8_zemina_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_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+sega8_zemina_device::sega8_zemina_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_sega8_cart_interface(mconfig, *this)
+ , m_ram_base(0)
+ , m_ram_enabled(0)
+{
}
sega8_zemina_device::sega8_zemina_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_ZEMINA, "SMS Zemina Carts", tag, owner, clock, "sega8_zemina", __FILE__),
- device_sega8_cart_interface( mconfig, *this ), m_ram_base(0), m_ram_enabled(0)
- {
+ : sega8_zemina_device(mconfig, SEGA8_ROM_ZEMINA, tag, owner, clock)
+{
}
sega8_nemesis_device::sega8_nemesis_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_zemina_device(mconfig, SEGA8_ROM_NEMESIS, "SMS Nemesis Cart", tag, owner, clock, "sega8_nemesis", __FILE__)
+ : sega8_zemina_device(mconfig, SEGA8_ROM_NEMESIS, tag, owner, clock)
{
}
sega8_janggun_device::sega8_janggun_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, SEGA8_ROM_JANGGUN, "SMS Janggun Cart", tag, owner, clock, "sega8_janggun", __FILE__),
- device_sega8_cart_interface( mconfig, *this )
+ : device_t(mconfig, SEGA8_ROM_JANGGUN, tag, owner, clock)
+ , device_sega8_cart_interface(mconfig, *this)
{
}
sega8_hicom_device::sega8_hicom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_HICOM, "SMS Hi-Com Carts", tag, owner, clock, "sega8_hicom", __FILE__), m_rom_bank_base(0)
- {
+ : sega8_rom_device(mconfig, SEGA8_ROM_HICOM, tag, owner, clock)
+ , m_rom_bank_base(0)
+{
}
sega8_korean_device::sega8_korean_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_KOREAN, "SMS Korean Carts", tag, owner, clock, "sega8_korean", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_KOREAN, tag, owner, clock)
{
}
sega8_korean_nb_device::sega8_korean_nb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_KOREAN_NB, "SMS Korean No-Bank Mapper Carts", tag, owner, clock, "sega8_korean_nb", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_KOREAN_NB, tag, owner, clock)
{
}
sega8_seojin_device::sega8_seojin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : sega8_rom_device(mconfig, SEGA8_ROM_SEOJIN, "SMS Seo Jin Multi-cart", tag, owner, clock, "sega8_seojin", __FILE__)
+ : sega8_rom_device(mconfig, SEGA8_ROM_SEOJIN, tag, owner, clock)
{
}