summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Fabio Priuli <etabeta78@users.noreply.github.com>2014-10-12 11:14:32 +0000
committer Fabio Priuli <etabeta78@users.noreply.github.com>2014-10-12 11:14:32 +0000
commit2c4831d5da36bfff2abab9e706dfa39f6bd1e018 (patch)
tree69592467ddbbc550d0ead745d15bb6ded6f041ba
parent9772759ede946679cf8e216fa7f84618fb599cc1 (diff)
(MESS) reducing sega8 slot interface duplication. nw.
-rw-r--r--src/emu/bus/sega8/sega8_slot.c52
-rw-r--r--src/emu/bus/sega8/sega8_slot.h6
-rw-r--r--src/emu/bus/sms_exp/gender.c11
-rw-r--r--src/emu/bus/sms_exp/gender.h1
-rw-r--r--src/mess/drivers/sg1000.c13
-rw-r--r--src/mess/drivers/sms.c37
6 files changed, 59 insertions, 61 deletions
diff --git a/src/emu/bus/sega8/sega8_slot.c b/src/emu/bus/sega8/sega8_slot.c
index 0d4a15c3f24..7401c40e2e3 100644
--- a/src/emu/bus/sega8/sega8_slot.c
+++ b/src/emu/bus/sega8/sega8_slot.c
@@ -819,3 +819,55 @@ void sega8_cart_slot_device::internal_header_logging(UINT8 *ROM, UINT32 len, UIN
logerror("\n" );
}
}
+
+// slot interfaces
+#include "rom.h"
+
+SLOT_INTERFACE_START(sg1000_cart)
+ SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD)
+ SLOT_INTERFACE_INTERNAL("othello", SEGA8_ROM_OTHELLO)
+ SLOT_INTERFACE_INTERNAL("castle", SEGA8_ROM_CASTLE)
+ SLOT_INTERFACE_INTERNAL("terebi", SEGA8_ROM_TEREBI)
+ SLOT_INTERFACE_INTERNAL("level3", SEGA8_ROM_BASIC_L3)
+ SLOT_INTERFACE_INTERNAL("music_editor", SEGA8_ROM_MUSIC_EDITOR)
+ SLOT_INTERFACE_INTERNAL("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA)
+ SLOT_INTERFACE_INTERNAL("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB)
+ SLOT_INTERFACE_INTERNAL("cardcatcher", SEGA8_ROM_CARDCATCH)
+SLOT_INTERFACE_END
+
+SLOT_INTERFACE_START(sg1000mk3_cart)
+ SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD)
+ SLOT_INTERFACE_INTERNAL("terebi", SEGA8_ROM_TEREBI)
+ SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS)
+ SLOT_INTERFACE_INTERNAL("4pak", SEGA8_ROM_4PAK)
+ SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA)
+ SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS)
+ SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN)
+ SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN)
+ SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB)
+ SLOT_INTERFACE_INTERNAL("othello", SEGA8_ROM_OTHELLO)
+ SLOT_INTERFACE_INTERNAL("castle", SEGA8_ROM_CASTLE)
+ SLOT_INTERFACE_INTERNAL("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA)
+ SLOT_INTERFACE_INTERNAL("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB)
+ // are these SC-3000 carts below actually compatible or not? remove if not!
+ SLOT_INTERFACE_INTERNAL("level3", SEGA8_ROM_BASIC_L3)
+ SLOT_INTERFACE_INTERNAL("music_editor", SEGA8_ROM_MUSIC_EDITOR)
+SLOT_INTERFACE_END
+
+SLOT_INTERFACE_START(sms_cart)
+ SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD)
+ SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS)
+ SLOT_INTERFACE_INTERNAL("4pak", SEGA8_ROM_4PAK)
+ SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA)
+ SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS)
+ SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN)
+ SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN)
+ SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB)
+SLOT_INTERFACE_END
+
+SLOT_INTERFACE_START(gg_cart)
+ SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD)
+ SLOT_INTERFACE_INTERNAL("eeprom", SEGA8_ROM_EEPROM)
+ SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS)
+SLOT_INTERFACE_END
+
diff --git a/src/emu/bus/sega8/sega8_slot.h b/src/emu/bus/sega8/sega8_slot.h
index 52d4f9a95f4..d70ae51a805 100644
--- a/src/emu/bus/sega8/sega8_slot.h
+++ b/src/emu/bus/sega8/sega8_slot.h
@@ -232,4 +232,10 @@ public:
static_cast<sega8_card_slot_device *>(device)->set_ext("bin,sg");
+// slot interfaces
+SLOT_INTERFACE_EXTERN( sg1000_cart );
+SLOT_INTERFACE_EXTERN( sg1000mk3_cart );
+SLOT_INTERFACE_EXTERN( sms_cart );
+SLOT_INTERFACE_EXTERN( gg_cart );
+
#endif
diff --git a/src/emu/bus/sms_exp/gender.c b/src/emu/bus/sms_exp/gender.c
index 60cdbbb17d6..f93ac7314f5 100644
--- a/src/emu/bus/sms_exp/gender.c
+++ b/src/emu/bus/sms_exp/gender.c
@@ -88,17 +88,6 @@ WRITE8_MEMBER(sms_gender_adapter_device::write_ram)
m_subslot->write_ram(space, offset, data);
}
-static SLOT_INTERFACE_START(sms_cart)
- SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD)
- SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS)
- SLOT_INTERFACE_INTERNAL("4pak", SEGA8_ROM_4PAK)
- SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA)
- SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS)
- SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN)
- SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN)
- SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB)
-SLOT_INTERFACE_END
-
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
diff --git a/src/emu/bus/sms_exp/gender.h b/src/emu/bus/sms_exp/gender.h
index 52f3643b367..3e24fec8066 100644
--- a/src/emu/bus/sms_exp/gender.h
+++ b/src/emu/bus/sms_exp/gender.h
@@ -16,7 +16,6 @@
#include "emu.h"
#include "smsexp.h"
#include "bus/sega8/sega8_slot.h"
-#include "bus/sega8/rom.h"
diff --git a/src/mess/drivers/sg1000.c b/src/mess/drivers/sg1000.c
index 139a0901879..3d395f9d45b 100644
--- a/src/mess/drivers/sg1000.c
+++ b/src/mess/drivers/sg1000.c
@@ -711,19 +711,6 @@ void sf7000_state::machine_reset()
MACHINE DRIVERS
***************************************************************************/
-
-static SLOT_INTERFACE_START(sg1000_cart)
- SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD)
- SLOT_INTERFACE_INTERNAL("othello", SEGA8_ROM_OTHELLO)
- SLOT_INTERFACE_INTERNAL("castle", SEGA8_ROM_CASTLE)
- SLOT_INTERFACE_INTERNAL("terebi", SEGA8_ROM_TEREBI)
- SLOT_INTERFACE_INTERNAL("level3", SEGA8_ROM_BASIC_L3)
- SLOT_INTERFACE_INTERNAL("music_editor", SEGA8_ROM_MUSIC_EDITOR)
- SLOT_INTERFACE_INTERNAL("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA)
- SLOT_INTERFACE_INTERNAL("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB)
- SLOT_INTERFACE_INTERNAL("cardcatcher", SEGA8_ROM_CARDCATCH)
-SLOT_INTERFACE_END
-
/*-------------------------------------------------
MACHINE_CONFIG_START( sg1000, sg1000_state )
-------------------------------------------------*/
diff --git a/src/mess/drivers/sms.c b/src/mess/drivers/sms.c
index df6dc5645ef..44964322239 100644
--- a/src/mess/drivers/sms.c
+++ b/src/mess/drivers/sms.c
@@ -459,41 +459,6 @@ WRITE_LINE_MEMBER(sms_state::sms_int_callback)
m_maincpu->set_input_line(0, state);
}
-static SLOT_INTERFACE_START(sms_cart)
- SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD)
- SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS)
- SLOT_INTERFACE_INTERNAL("4pak", SEGA8_ROM_4PAK)
- SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA)
- SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS)
- SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN)
- SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN)
- SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB)
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(sg1000mk3_cart)
- SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD)
- SLOT_INTERFACE_INTERNAL("terebi", SEGA8_ROM_TEREBI)
- SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS)
- SLOT_INTERFACE_INTERNAL("4pak", SEGA8_ROM_4PAK)
- SLOT_INTERFACE_INTERNAL("zemina", SEGA8_ROM_ZEMINA)
- SLOT_INTERFACE_INTERNAL("nemesis", SEGA8_ROM_NEMESIS)
- SLOT_INTERFACE_INTERNAL("janggun", SEGA8_ROM_JANGGUN)
- SLOT_INTERFACE_INTERNAL("korean", SEGA8_ROM_KOREAN)
- SLOT_INTERFACE_INTERNAL("korean_nb", SEGA8_ROM_KOREAN_NB)
- SLOT_INTERFACE_INTERNAL("othello", SEGA8_ROM_OTHELLO)
- SLOT_INTERFACE_INTERNAL("castle", SEGA8_ROM_CASTLE)
- SLOT_INTERFACE_INTERNAL("dahjee_typea", SEGA8_ROM_DAHJEE_TYPEA)
- SLOT_INTERFACE_INTERNAL("dahjee_typeb", SEGA8_ROM_DAHJEE_TYPEB)
-// are these SC-3000 carts below actually compatible or not? remove if not!
- SLOT_INTERFACE_INTERNAL("level3", SEGA8_ROM_BASIC_L3)
- SLOT_INTERFACE_INTERNAL("music_editor", SEGA8_ROM_MUSIC_EDITOR)
-SLOT_INTERFACE_END
-
-static SLOT_INTERFACE_START(gg_cart)
- SLOT_INTERFACE_INTERNAL("rom", SEGA8_ROM_STD)
- SLOT_INTERFACE_INTERNAL("eeprom", SEGA8_ROM_EEPROM)
- SLOT_INTERFACE_INTERNAL("codemasters", SEGA8_ROM_CODEMASTERS)
-SLOT_INTERFACE_END
static MACHINE_CONFIG_START( sms_ntsc_base, sms_state )
/* basic machine hardware */
@@ -819,7 +784,7 @@ static MACHINE_CONFIG_START( gamegear, sms_state )
/* cartridge */
MCFG_GG_CARTRIDGE_ADD("slot", gg_cart, NULL)
- MCFG_SOFTWARE_LIST_ADD("cart_list","gamegear")
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "gamegear")
MACHINE_CONFIG_END