diff options
Diffstat (limited to 'src/mame/drivers/de_2.cpp')
-rw-r--r-- | src/mame/drivers/de_2.cpp | 66 |
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 +} /*-------------------------------------------------------------------------------- |