summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/de_2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/de_2.cpp')
-rw-r--r--src/mame/drivers/de_2.cpp66
1 files changed, 35 insertions, 31 deletions
diff --git a/src/mame/drivers/de_2.cpp b/src/mame/drivers/de_2.cpp
index 845856a9a2e..ea8b8a20982 100644
--- a/src/mame/drivers/de_2.cpp
+++ b/src/mame/drivers/de_2.cpp
@@ -545,65 +545,69 @@ MACHINE_CONFIG_START(de_2_state::de_bg_audio)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50)
MACHINE_CONFIG_END
-MACHINE_CONFIG_START(de_2_state::de_type1)
+void de_2_state::de_type1(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DECOCPU_TYPE1_ADD("decocpu", XTAL(8'000'000) / 2, ":maincpu")
- MCFG_DECOCPU_DISPLAY(READ8(*this, de_2_state,display_r),WRITE8(*this, de_2_state,display_w))
- MCFG_DECOCPU_SOUNDLATCH(WRITE8(*this, de_2_state,sound_w))
- MCFG_DECOCPU_SWITCH(READ8(*this, de_2_state,switch_r),WRITE8(*this, de_2_state,switch_w))
- MCFG_DECOCPU_LAMP(WRITE8(*this, de_2_state,lamps_w))
+ decocpu_type1_device &decocpu(DECOCPU1(config, "decocpu", XTAL(8'000'000) / 2, "maincpu"));
+ decocpu.display_read_callback().set(FUNC(de_2_state::display_r));
+ decocpu.display_write_callback().set(FUNC(de_2_state::display_w));
+ decocpu.soundlatch_write_callback().set(FUNC(de_2_state::sound_w));
+ decocpu.switch_read_callback().set(FUNC(de_2_state::switch_r));
+ decocpu.switch_write_callback().set(FUNC(de_2_state::switch_w));
+ decocpu.lamp_write_callback().set(FUNC(de_2_state::lamps_w));
/* Video */
config.set_default_layout(layout_de2);
genpin_audio(config);
de_bg_audio(config);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(de_2_state::de_type2)
+void de_2_state::de_type2(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DECOCPU_TYPE2_ADD("decocpu", XTAL(8'000'000) / 2, ":maincpu")
- MCFG_DECOCPU_DISPLAY(READ8(*this, de_2_state,display_r),WRITE8(*this, de_2_state,display_w))
- MCFG_DECOCPU_SOUNDLATCH(WRITE8(*this, de_2_state,sound_w))
- MCFG_DECOCPU_SWITCH(READ8(*this, de_2_state,switch_r),WRITE8(*this, de_2_state,switch_w))
- MCFG_DECOCPU_LAMP(WRITE8(*this, de_2_state,lamps_w))
+ decocpu_type2_device &decocpu(DECOCPU2(config, "decocpu", XTAL(8'000'000) / 2, "maincpu"));
+ decocpu.display_read_callback().set(FUNC(de_2_state::display_r));
+ decocpu.display_write_callback().set(FUNC(de_2_state::display_w));
+ decocpu.soundlatch_write_callback().set(FUNC(de_2_state::sound_w));
+ decocpu.switch_read_callback().set(FUNC(de_2_state::switch_r));
+ decocpu.switch_write_callback().set(FUNC(de_2_state::switch_w));
+ decocpu.lamp_write_callback().set(FUNC(de_2_state::lamps_w));
/* Video */
config.set_default_layout(layout_de2);
genpin_audio(config);
de_bg_audio(config);
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(de_2_state::de_type2_alpha3)
+void de_2_state::de_type2_alpha3(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DECOCPU_TYPE2_ADD("decocpu", XTAL(8'000'000) / 2, ":maincpu")
- MCFG_DECOCPU_DISPLAY(READ8(*this, de_2_state,display_r),WRITE8(*this, de_2_state,type2alpha3_display_w))
- MCFG_DECOCPU_SOUNDLATCH(WRITE8(*this, de_2_state,sound_w))
- MCFG_DECOCPU_SWITCH(READ8(*this, de_2_state,switch_r),WRITE8(*this, de_2_state,switch_w))
- MCFG_DECOCPU_LAMP(WRITE8(*this, de_2_state,lamps_w))
+ de_type2(config);
+ subdevice<decocpu_type2_device>("decocpu")->display_write_callback().set(FUNC(de_2_state::type2alpha3_display_w));
/* Video */
config.set_default_layout(layout_de2a3);
+}
- genpin_audio(config);
- de_bg_audio(config);
-MACHINE_CONFIG_END
-
-MACHINE_CONFIG_START(de_2_state::de_type3)
+void de_2_state::de_type3(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DECOCPU_TYPE3_ADD("decocpu", XTAL(8'000'000) / 2, ":maincpu")
- MCFG_DECOCPU_DISPLAY(READ8(*this, de_2_state,display_r),WRITE8(*this, de_2_state,type3_display_w))
- MCFG_DECOCPU_SOUNDLATCH(WRITE8(*this, de_2_state,sound_w))
- MCFG_DECOCPU_SWITCH(READ8(*this, de_2_state,switch_r),WRITE8(*this, de_2_state,switch_w))
- MCFG_DECOCPU_LAMP(WRITE8(*this, de_2_state,lamps_w))
+ decocpu_type3_device &decocpu(DECOCPU3(config, "decocpu", XTAL(8'000'000) / 2, "maincpu"));
+ decocpu.display_read_callback().set(FUNC(de_2_state::display_r));
+ decocpu.display_write_callback().set(FUNC(de_2_state::type3_display_w));
+ decocpu.soundlatch_write_callback().set(FUNC(de_2_state::sound_w));
+ decocpu.switch_read_callback().set(FUNC(de_2_state::switch_r));
+ decocpu.switch_write_callback().set(FUNC(de_2_state::switch_w));
+ decocpu.lamp_write_callback().set(FUNC(de_2_state::lamps_w));
/* Video */
config.set_default_layout(layout_de2a3);
genpin_audio(config);
de_bg_audio(config);
-MACHINE_CONFIG_END
+}
/*--------------------------------------------------------------------------------