diff options
Diffstat (limited to 'src/devices/bus/sega8/rom.cpp')
-rw-r--r-- | src/devices/bus/sega8/rom.cpp | 126 |
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) { } |