From 6056c917ed684ce82755d21f9f5e3404f418a421 Mon Sep 17 00:00:00 2001 From: mooglyguy Date: Thu, 6 Dec 2018 21:33:33 +0100 Subject: ucom4, upd7725: Removed MCFG. [Ryan Holtz] --- src/devices/cpu/ucom4/ucom4.h | 57 ++---- src/devices/cpu/upd7725/upd7725.h | 49 +---- src/mame/drivers/hh_ucom4.cpp | 388 +++++++++++++++++++------------------- src/mame/drivers/tb303.cpp | 22 +-- src/mame/drivers/tsispch.cpp | 10 +- src/mame/includes/hh_ucom4.h | 2 +- 6 files changed, 225 insertions(+), 303 deletions(-) diff --git a/src/devices/cpu/ucom4/ucom4.h b/src/devices/cpu/ucom4/ucom4.h index fe93029ac91..6b4ffa79854 100644 --- a/src/devices/cpu/ucom4/ucom4.h +++ b/src/devices/cpu/ucom4/ucom4.h @@ -11,39 +11,6 @@ #pragma once - -// I/O ports setup -#define MCFG_UCOM4_READ_A_CB(_devcb) \ - downcast(*device).set_read_a_callback(DEVCB_##_devcb); - -#define MCFG_UCOM4_READ_B_CB(_devcb) \ - downcast(*device).set_read_b_callback(DEVCB_##_devcb); - -#define MCFG_UCOM4_READ_C_CB(_devcb) \ - downcast(*device).set_read_c_callback(DEVCB_##_devcb); -#define MCFG_UCOM4_WRITE_C_CB(_devcb) \ - downcast(*device).set_write_c_callback(DEVCB_##_devcb); - -#define MCFG_UCOM4_READ_D_CB(_devcb) \ - downcast(*device).set_read_d_callback(DEVCB_##_devcb); -#define MCFG_UCOM4_WRITE_D_CB(_devcb) \ - downcast(*device).set_write_d_callback(DEVCB_##_devcb); - -#define MCFG_UCOM4_WRITE_E_CB(_devcb) \ - downcast(*device).set_write_e_callback(DEVCB_##_devcb); - -#define MCFG_UCOM4_WRITE_F_CB(_devcb) \ - downcast(*device).set_write_f_callback(DEVCB_##_devcb); - -#define MCFG_UCOM4_WRITE_G_CB(_devcb) \ - downcast(*device).set_write_g_callback(DEVCB_##_devcb); - -#define MCFG_UCOM4_WRITE_H_CB(_devcb) \ - downcast(*device).set_write_h_callback(DEVCB_##_devcb); - -#define MCFG_UCOM4_WRITE_I_CB(_devcb) \ - downcast(*device).set_write_i_callback(DEVCB_##_devcb); - enum { NEC_UCOM4_PORTA = 0, @@ -100,18 +67,18 @@ class ucom4_cpu_device : public cpu_device { public: // configuration helpers - template devcb_base &set_read_a_callback(Object &&cb) { return m_read_a.set_callback(std::forward(cb)); } - template devcb_base &set_read_b_callback(Object &&cb) { return m_read_b.set_callback(std::forward(cb)); } - template devcb_base &set_read_c_callback(Object &&cb) { return m_read_c.set_callback(std::forward(cb)); } - template devcb_base &set_read_d_callback(Object &&cb) { return m_read_d.set_callback(std::forward(cb)); } - - template devcb_base &set_write_c_callback(Object &&cb) { return m_write_c.set_callback(std::forward(cb)); } - template devcb_base &set_write_d_callback(Object &&cb) { return m_write_d.set_callback(std::forward(cb)); } - template devcb_base &set_write_e_callback(Object &&cb) { return m_write_e.set_callback(std::forward(cb)); } - template devcb_base &set_write_f_callback(Object &&cb) { return m_write_f.set_callback(std::forward(cb)); } - template devcb_base &set_write_g_callback(Object &&cb) { return m_write_g.set_callback(std::forward(cb)); } - template devcb_base &set_write_h_callback(Object &&cb) { return m_write_h.set_callback(std::forward(cb)); } - template devcb_base &set_write_i_callback(Object &&cb) { return m_write_i.set_callback(std::forward(cb)); } + auto read_a() { return m_read_a.bind(); } + auto read_b() { return m_read_b.bind(); } + auto read_c() { return m_read_c.bind(); } + auto read_d() { return m_read_d.bind(); } + + auto write_c() { return m_write_c.bind(); } + auto write_d() { return m_write_d.bind(); } + auto write_e() { return m_write_e.bind(); } + auto write_f() { return m_write_f.bind(); } + auto write_g() { return m_write_g.bind(); } + auto write_h() { return m_write_h.bind(); } + auto write_i() { return m_write_i.bind(); } protected: // construction/destruction diff --git a/src/devices/cpu/upd7725/upd7725.h b/src/devices/cpu/upd7725/upd7725.h index 0b4cb717f81..0ebb4338f8d 100644 --- a/src/devices/cpu/upd7725/upd7725.h +++ b/src/devices/cpu/upd7725/upd7725.h @@ -28,57 +28,13 @@ enum // TYPE DEFINITIONS //************************************************************************** - -#define MCFG_NECDSP_IN_INT_CB(_devcb) \ - downcast(*device).set_in_int_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_IN_SI_CB(_devcb) \ - downcast(*device).set_in_si_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_IN_SCK_CB(_devcb) \ - downcast(*device).set_in_sck_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_IN_SIEN_CB(_devcb) \ - downcast(*device).set_in_sien_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_IN_SOEN_CB(_devcb) \ - downcast(*device).set_in_soen_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_IN_DACK_CB(_devcb) \ - downcast(*device).set_in_dack_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_OUT_P0_CB(_devcb) \ - downcast(*device).set_out_p0_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_OUT_P1_CB(_devcb) \ - downcast(*device).set_out_p1_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_OUT_SO_CB(_devcb) \ - downcast(*device).set_out_so_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_OUT_SORQ_CB(_devcb) \ - downcast(*device).set_out_sorq_callback(DEVCB_##_devcb); - -#define MCFG_NECDSP_OUT_DRQ_CB(_devcb) \ - downcast(*device).set_out_drq_callback(DEVCB_##_devcb); - - // ======================> necdsp_device class necdsp_device : public cpu_device { public: - template devcb_base &set_in_int_callback(Object &&cb) { return m_in_int_cb.set_callback(std::forward(cb)); } - //template devcb_base &set_in_si_callback(Object &&cb) { return m_in_si_cb.set_callback(std::forward(cb)); } - //template devcb_base &set_in_sck_callback(Object &&cb) { return m_in_sck_cb.set_callback(std::forward(cb)); } - //template devcb_base &set_in_sien_callback(Object &&cb) { return m_in_sien_cb.set_callback(std::forward(cb)); } - //template devcb_base &set_in_soen_callback(Object &&cb) { return m_in_soen_cb.set_callback(std::forward(cb)); } - //template devcb_base &set_in_dack_callback(Object &&cb) { return m_in_dack_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_p0_callback(Object &&cb) { return m_out_p0_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_p1_callback(Object &&cb) { return m_out_p1_cb.set_callback(std::forward(cb)); } - //template devcb_base &set_out_so_callback(Object &&cb) { return m_out_so_cb.set_callback(std::forward(cb)); } - //template devcb_base &set_out_sorq_callback(Object &&cb) { return m_out_sorq_cb.set_callback(std::forward(cb)); } - //template devcb_base &set_out_drq_callback(Object &&cb) { return m_out_drq_cb.set_callback(std::forward(cb)); } + auto p0() { return m_out_p0_cb.bind(); } + auto p1() { return m_out_p1_cb.bind(); } uint8_t snesdsp_read(bool mode); void snesdsp_write(bool mode, uint8_t data); @@ -192,7 +148,6 @@ private: memory_access_cache<2, -2, ENDIANNESS_BIG> *m_cache; protected: -// device callbacks devcb_read_line m_in_int_cb; //devcb_read8 m_in_si_cb; //devcb_read_line m_in_sck_cb; diff --git a/src/mame/drivers/hh_ucom4.cpp b/src/mame/drivers/hh_ucom4.cpp index 979736b186e..4000f0d1975 100644 --- a/src/mame/drivers/hh_ucom4.cpp +++ b/src/mame/drivers/hh_ucom4.cpp @@ -331,16 +331,16 @@ static const s16 ufombs_speaker_levels[] = { 0, 0x7fff, -0x8000, 0 }; MACHINE_CONFIG_START(ufombs_state::ufombs) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D552, 400000) // approximation - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, ufombs_state, plate_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, ufombs_state, plate_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, ufombs_state, speaker_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, ufombs_state, grid_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, ufombs_state, grid_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, ufombs_state, grid_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, ufombs_state, plate_w)) + NEC_D552(config, m_maincpu, 400000); // approximation + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(ufombs_state::plate_w)); + m_maincpu->write_d().set(FUNC(ufombs_state::plate_w)); + m_maincpu->write_e().set(FUNC(ufombs_state::speaker_w)); + m_maincpu->write_f().set(FUNC(ufombs_state::grid_w)); + m_maincpu->write_g().set(FUNC(ufombs_state::grid_w)); + m_maincpu->write_h().set(FUNC(ufombs_state::grid_w)); + m_maincpu->write_i().set(FUNC(ufombs_state::plate_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -477,16 +477,16 @@ static const s16 ssfball_speaker_levels[] = { 0, 0x7fff, -0x8000, 0 }; MACHINE_CONFIG_START(ssfball_state::ssfball) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400000) // approximation - MCFG_UCOM4_READ_A_CB(IOPORT("IN.3")) - MCFG_UCOM4_READ_B_CB(READ8(*this, ssfball_state, input_b_r)) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, ssfball_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, ssfball_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, ssfball_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, ssfball_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, ssfball_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, ssfball_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, ssfball_state, plate_w)) + NEC_D553(config, m_maincpu, 400000); // approximation + m_maincpu->read_a().set_ioport("IN.3"); + m_maincpu->read_b().set(FUNC(ssfball_state::input_b_r)); + m_maincpu->write_c().set(FUNC(ssfball_state::grid_w)); + m_maincpu->write_d().set(FUNC(ssfball_state::grid_w)); + m_maincpu->write_e().set(FUNC(ssfball_state::plate_w)); + m_maincpu->write_f().set(FUNC(ssfball_state::plate_w)); + m_maincpu->write_g().set(FUNC(ssfball_state::plate_w)); + m_maincpu->write_h().set(FUNC(ssfball_state::plate_w)); + m_maincpu->write_i().set(FUNC(ssfball_state::plate_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -604,16 +604,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(bmsoccer_state::bmsoccer) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D552, 400000) // approximation - MCFG_UCOM4_READ_A_CB(READ8(*this, bmsoccer_state, input_a_r)) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.2")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, bmsoccer_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, bmsoccer_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, bmsoccer_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, bmsoccer_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, bmsoccer_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, bmsoccer_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, bmsoccer_state, plate_w)) + NEC_D552(config, m_maincpu, 400000); // approximation + m_maincpu->read_a().set(FUNC(bmsoccer_state::input_a_r)); + m_maincpu->read_b().set_ioport("IN.2"); + m_maincpu->write_c().set(FUNC(bmsoccer_state::grid_w)); + m_maincpu->write_d().set(FUNC(bmsoccer_state::grid_w)); + m_maincpu->write_e().set(FUNC(bmsoccer_state::plate_w)); + m_maincpu->write_f().set(FUNC(bmsoccer_state::plate_w)); + m_maincpu->write_g().set(FUNC(bmsoccer_state::plate_w)); + m_maincpu->write_h().set(FUNC(bmsoccer_state::plate_w)); + m_maincpu->write_i().set(FUNC(bmsoccer_state::plate_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -711,15 +711,15 @@ INPUT_PORTS_END MACHINE_CONFIG_START(bmsafari_state::bmsafari) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D552, 400000) // approximation - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, bmsafari_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, bmsafari_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, bmsafari_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, bmsafari_state, speaker_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, bmsafari_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, bmsafari_state, plate_w)) + NEC_D552(config, m_maincpu, 400000); // approximation + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(bmsafari_state::grid_w)); + m_maincpu->write_d().set(FUNC(bmsafari_state::grid_w)); + m_maincpu->write_e().set(FUNC(bmsafari_state::plate_w)); + m_maincpu->write_g().set(FUNC(bmsafari_state::speaker_w)); + m_maincpu->write_h().set(FUNC(bmsafari_state::plate_w)); + m_maincpu->write_i().set(FUNC(bmsafari_state::plate_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -860,16 +860,16 @@ static const s16 splasfgt_speaker_levels[] = { 0, 0x7fff, -0x8000, 0 }; MACHINE_CONFIG_START(splasfgt_state::splasfgt) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400000) // approximation - MCFG_UCOM4_READ_A_CB(IOPORT("IN.4")) - MCFG_UCOM4_READ_B_CB(READ8(*this, splasfgt_state, input_b_r)) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, splasfgt_state, plate_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, splasfgt_state, plate_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, splasfgt_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, splasfgt_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, splasfgt_state, grid_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, splasfgt_state, grid_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, splasfgt_state, grid_w)) + NEC_D553(config, m_maincpu, 400000); // approximation + m_maincpu->read_a().set_ioport("IN.4"); + m_maincpu->read_b().set(FUNC(splasfgt_state::input_b_r)); + m_maincpu->write_c().set(FUNC(splasfgt_state::plate_w)); + m_maincpu->write_d().set(FUNC(splasfgt_state::plate_w)); + m_maincpu->write_e().set(FUNC(splasfgt_state::plate_w)); + m_maincpu->write_f().set(FUNC(splasfgt_state::plate_w)); + m_maincpu->write_g().set(FUNC(splasfgt_state::grid_w)); + m_maincpu->write_h().set(FUNC(splasfgt_state::grid_w)); + m_maincpu->write_i().set(FUNC(splasfgt_state::grid_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -963,16 +963,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(bcclimbr_state::bcclimbr) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, bcclimbr_state, plate_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, bcclimbr_state, plate_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, bcclimbr_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, bcclimbr_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, bcclimbr_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, bcclimbr_state, grid_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, bcclimbr_state, grid_w)) + NEC_D553(config, m_maincpu, 400_kHz_XTAL); + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(bcclimbr_state::plate_w)); + m_maincpu->write_d().set(FUNC(bcclimbr_state::plate_w)); + m_maincpu->write_e().set(FUNC(bcclimbr_state::plate_w)); + m_maincpu->write_f().set(FUNC(bcclimbr_state::plate_w)); + m_maincpu->write_g().set(FUNC(bcclimbr_state::plate_w)); + m_maincpu->write_h().set(FUNC(bcclimbr_state::grid_w)); + m_maincpu->write_i().set(FUNC(bcclimbr_state::grid_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -1085,13 +1085,13 @@ INPUT_PORTS_END MACHINE_CONFIG_START(tactix_state::tactix) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D557L, 400000) // approximation - MCFG_UCOM4_READ_A_CB(READ8(*this, tactix_state, input_r)) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, tactix_state, input_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, tactix_state, leds_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, tactix_state, input_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, tactix_state, leds_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, tactix_state, speaker_w)) + NEC_D557L(config, m_maincpu, 400000); // approximation + m_maincpu->read_a().set(FUNC(tactix_state::input_r)); + m_maincpu->write_c().set(FUNC(tactix_state::input_w)); + m_maincpu->write_d().set(FUNC(tactix_state::leds_w)); + m_maincpu->write_e().set(FUNC(tactix_state::input_w)); + m_maincpu->write_f().set(FUNC(tactix_state::leds_w)); + m_maincpu->write_g().set(FUNC(tactix_state::speaker_w)); MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) config.set_default_layout(layout_tactix); @@ -1179,16 +1179,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(invspace_state::invspace) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D552, 400_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, invspace_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, invspace_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, invspace_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, invspace_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, invspace_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, invspace_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, invspace_state, grid_w)) + NEC_D552(config, m_maincpu, 400_kHz_XTAL); + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(invspace_state::grid_w)); + m_maincpu->write_d().set(FUNC(invspace_state::grid_w)); + m_maincpu->write_e().set(FUNC(invspace_state::plate_w)); + m_maincpu->write_f().set(FUNC(invspace_state::plate_w)); + m_maincpu->write_g().set(FUNC(invspace_state::plate_w)); + m_maincpu->write_h().set(FUNC(invspace_state::plate_w)); + m_maincpu->write_i().set(FUNC(invspace_state::grid_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -1294,16 +1294,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(efball_state::efball) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_READ_C_CB(IOPORT("IN.2")) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, efball_state, plate_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, efball_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, efball_state, grid_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, efball_state, grid_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, efball_state, grid_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, efball_state, plate_w)) + NEC_D553(config, m_maincpu, 400_kHz_XTAL); + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->read_c().set_ioport("IN.2"); + m_maincpu->write_d().set(FUNC(efball_state::plate_w)); + m_maincpu->write_e().set(FUNC(efball_state::plate_w)); + m_maincpu->write_f().set(FUNC(efball_state::grid_w)); + m_maincpu->write_g().set(FUNC(efball_state::grid_w)); + m_maincpu->write_h().set(FUNC(efball_state::grid_w)); + m_maincpu->write_i().set(FUNC(efball_state::plate_w)); MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) config.set_default_layout(layout_efball); @@ -1394,16 +1394,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(galaxy2_state::galaxy2) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, galaxy2_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, galaxy2_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, galaxy2_state, grid_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, galaxy2_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, galaxy2_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, galaxy2_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, galaxy2_state, plate_w)) + NEC_D553(config, m_maincpu, 400_kHz_XTAL); + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(galaxy2_state::grid_w)); + m_maincpu->write_d().set(FUNC(galaxy2_state::grid_w)); + m_maincpu->write_e().set(FUNC(galaxy2_state::grid_w)); + m_maincpu->write_f().set(FUNC(galaxy2_state::plate_w)); + m_maincpu->write_g().set(FUNC(galaxy2_state::plate_w)); + m_maincpu->write_h().set(FUNC(galaxy2_state::plate_w)); + m_maincpu->write_i().set(FUNC(galaxy2_state::plate_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -1512,16 +1512,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(astrocmd_state::astrocmd) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, astrocmd_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, astrocmd_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, astrocmd_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, astrocmd_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, astrocmd_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, astrocmd_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, astrocmd_state, plate_w)) + NEC_D553(config, m_maincpu, 400_kHz_XTAL); + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(astrocmd_state::grid_w)); + m_maincpu->write_d().set(FUNC(astrocmd_state::grid_w)); + m_maincpu->write_e().set(FUNC(astrocmd_state::plate_w)); + m_maincpu->write_f().set(FUNC(astrocmd_state::plate_w)); + m_maincpu->write_g().set(FUNC(astrocmd_state::plate_w)); + m_maincpu->write_h().set(FUNC(astrocmd_state::plate_w)); + m_maincpu->write_i().set(FUNC(astrocmd_state::plate_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -1607,16 +1607,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(edracula_state::edracula) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, edracula_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, edracula_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, edracula_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, edracula_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, edracula_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, edracula_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, edracula_state, plate_w)) + NEC_D553(config, m_maincpu, 400_kHz_XTAL); + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(edracula_state::grid_w)); + m_maincpu->write_d().set(FUNC(edracula_state::grid_w)); + m_maincpu->write_e().set(FUNC(edracula_state::plate_w)); + m_maincpu->write_f().set(FUNC(edracula_state::plate_w)); + m_maincpu->write_g().set(FUNC(edracula_state::plate_w)); + m_maincpu->write_h().set(FUNC(edracula_state::plate_w)); + m_maincpu->write_i().set(FUNC(edracula_state::plate_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -1694,10 +1694,10 @@ INPUT_PORTS_END MACHINE_CONFIG_START(mcompgin_state::mcompgin) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D650, 400_kHz_XTAL) // TDK FCR400K - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, mcompgin_state, lcd_w)) + NEC_D650(config, m_maincpu, 400_kHz_XTAL); // TDK FCR400K + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_e().set(FUNC(mcompgin_state::lcd_w)); /* video hardware */ MCFG_DEVICE_ADD("lcd", HLCD0530, 500) // C=0.01uF @@ -1791,16 +1791,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(mvbfree_state::mvbfree) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400000) // approximation - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, mvbfree_state, plate_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, mvbfree_state, plate_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, mvbfree_state, grid_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, mvbfree_state, grid_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, mvbfree_state, grid_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, mvbfree_state, grid_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, mvbfree_state, speaker_w)) + NEC_D553(config, m_maincpu, 400000); // approximation + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(mvbfree_state::plate_w)); + m_maincpu->write_d().set(FUNC(mvbfree_state::plate_w)); + m_maincpu->write_e().set(FUNC(mvbfree_state::grid_w)); + m_maincpu->write_f().set(FUNC(mvbfree_state::grid_w)); + m_maincpu->write_g().set(FUNC(mvbfree_state::grid_w)); + m_maincpu->write_h().set(FUNC(mvbfree_state::grid_w)); + m_maincpu->write_i().set(FUNC(mvbfree_state::speaker_w)); MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) config.set_default_layout(layout_mvbfree); @@ -1910,12 +1910,12 @@ INPUT_PORTS_END MACHINE_CONFIG_START(grobot9_state::grobot9) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D557L, 160000) // approximation - MCFG_UCOM4_READ_A_CB(READ8(*this, grobot9_state, input_r)) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, grobot9_state, input_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, grobot9_state, lamps_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, grobot9_state, lamps_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, grobot9_state, lamps_w)) + NEC_D557L(config, m_maincpu, 160000); // approximation + m_maincpu->read_a().set(FUNC(grobot9_state::input_r)); + m_maincpu->write_c().set(FUNC(grobot9_state::input_w)); + m_maincpu->write_d().set(FUNC(grobot9_state::lamps_w)); + m_maincpu->write_e().set(FUNC(grobot9_state::lamps_w)); + m_maincpu->write_f().set(FUNC(grobot9_state::lamps_w)); MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) config.set_default_layout(layout_grobot9); @@ -2000,15 +2000,15 @@ INPUT_PORTS_END MACHINE_CONFIG_START(tccombat_state::tccombat) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D552, 400000) // approximation - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, tccombat_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, tccombat_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, tccombat_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, tccombat_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, tccombat_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, tccombat_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, tccombat_state, grid_w)) + NEC_D552(config, m_maincpu, 400000); // approximation + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->write_c().set(FUNC(tccombat_state::grid_w)); + m_maincpu->write_d().set(FUNC(tccombat_state::grid_w)); + m_maincpu->write_e().set(FUNC(tccombat_state::plate_w)); + m_maincpu->write_f().set(FUNC(tccombat_state::plate_w)); + m_maincpu->write_g().set(FUNC(tccombat_state::plate_w)); + m_maincpu->write_h().set(FUNC(tccombat_state::plate_w)); + m_maincpu->write_i().set(FUNC(tccombat_state::grid_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -2156,16 +2156,16 @@ void tmtennis_state::machine_reset() MACHINE_CONFIG_START(tmtennis_state::tmtennis) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D552, 360000) // see set_clock - MCFG_UCOM4_READ_A_CB(READ8(*this, tmtennis_state, input_r)) - MCFG_UCOM4_READ_B_CB(READ8(*this, tmtennis_state, input_r)) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, tmtennis_state, plate_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, tmtennis_state, plate_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, tmtennis_state, port_e_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, tmtennis_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, tmtennis_state, grid_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, tmtennis_state, grid_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, tmtennis_state, grid_w)) + NEC_D552(config, m_maincpu, 360000); // see set_clock + m_maincpu->read_a().set(FUNC(tmtennis_state::input_r)); + m_maincpu->read_b().set(FUNC(tmtennis_state::input_r)); + m_maincpu->write_c().set(FUNC(tmtennis_state::plate_w)); + m_maincpu->write_d().set(FUNC(tmtennis_state::plate_w)); + m_maincpu->write_e().set(FUNC(tmtennis_state::port_e_w)); + m_maincpu->write_f().set(FUNC(tmtennis_state::plate_w)); + m_maincpu->write_g().set(FUNC(tmtennis_state::grid_w)); + m_maincpu->write_h().set(FUNC(tmtennis_state::grid_w)); + m_maincpu->write_i().set(FUNC(tmtennis_state::grid_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -2264,16 +2264,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(tmpacman_state::tmpacman) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 430_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, tmpacman_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, tmpacman_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, tmpacman_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, tmpacman_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, tmpacman_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, tmpacman_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, tmpacman_state, plate_w)) + NEC_D553(config, m_maincpu, 430_kHz_XTAL); + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(tmpacman_state::grid_w)); + m_maincpu->write_d().set(FUNC(tmpacman_state::grid_w)); + m_maincpu->write_e().set(FUNC(tmpacman_state::plate_w)); + m_maincpu->write_f().set(FUNC(tmpacman_state::plate_w)); + m_maincpu->write_g().set(FUNC(tmpacman_state::plate_w)); + m_maincpu->write_h().set(FUNC(tmpacman_state::plate_w)); + m_maincpu->write_i().set(FUNC(tmpacman_state::plate_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -2366,16 +2366,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(tmscramb_state::tmscramb) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, tmscramb_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, tmscramb_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, tmscramb_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, tmscramb_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, tmscramb_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, tmscramb_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, tmscramb_state, grid_w)) + NEC_D553(config, m_maincpu, 400_kHz_XTAL); + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->read_b().set_ioport("IN.1"); + m_maincpu->write_c().set(FUNC(tmscramb_state::grid_w)); + m_maincpu->write_d().set(FUNC(tmscramb_state::grid_w)); + m_maincpu->write_e().set(FUNC(tmscramb_state::plate_w)); + m_maincpu->write_f().set(FUNC(tmscramb_state::plate_w)); + m_maincpu->write_g().set(FUNC(tmscramb_state::plate_w)); + m_maincpu->write_h().set(FUNC(tmscramb_state::plate_w)); + m_maincpu->write_i().set(FUNC(tmscramb_state::grid_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -2465,15 +2465,15 @@ INPUT_PORTS_END MACHINE_CONFIG_START(tcaveman_state::tcaveman) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, tcaveman_state, grid_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, tcaveman_state, grid_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, tcaveman_state, plate_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, tcaveman_state, plate_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, tcaveman_state, plate_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, tcaveman_state, plate_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, tcaveman_state, plate_w)) + NEC_D553(config, m_maincpu, 400_kHz_XTAL); + m_maincpu->read_a().set_ioport("IN.0"); + m_maincpu->write_c().set(FUNC(tcaveman_state::grid_w)); + m_maincpu->write_d().set(FUNC(tcaveman_state::grid_w)); + m_maincpu->write_e().set(FUNC(tcaveman_state::plate_w)); + m_maincpu->write_f().set(FUNC(tcaveman_state::plate_w)); + m_maincpu->write_g().set(FUNC(tcaveman_state::plate_w)); + m_maincpu->write_h().set(FUNC(tcaveman_state::plate_w)); + m_maincpu->write_i().set(FUNC(tcaveman_state::plate_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") @@ -2596,16 +2596,16 @@ INPUT_PORTS_END MACHINE_CONFIG_START(alnchase_state::alnchase) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D553, 400_kHz_XTAL) - MCFG_UCOM4_READ_A_CB(READ8(*this, alnchase_state, input_r)) - MCFG_UCOM4_READ_B_CB(IOPORT("IN.2")) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, alnchase_state, output_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, alnchase_state, output_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, alnchase_state, output_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, alnchase_state, output_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, alnchase_state, output_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, alnchase_state, output_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, alnchase_state, output_w)) + NEC_D553(config, m_maincpu, 400_kHz_XTAL); + m_maincpu->read_a().set(FUNC(alnchase_state::input_r)); + m_maincpu->read_b().set_ioport("IN.2"); + m_maincpu->write_c().set(FUNC(alnchase_state::output_w)); + m_maincpu->write_d().set(FUNC(alnchase_state::output_w)); + m_maincpu->write_e().set(FUNC(alnchase_state::output_w)); + m_maincpu->write_f().set(FUNC(alnchase_state::output_w)); + m_maincpu->write_g().set(FUNC(alnchase_state::output_w)); + m_maincpu->write_h().set(FUNC(alnchase_state::output_w)); + m_maincpu->write_i().set(FUNC(alnchase_state::output_w)); /* video hardware */ MCFG_SCREEN_SVG_ADD("screen", "svg") diff --git a/src/mame/drivers/tb303.cpp b/src/mame/drivers/tb303.cpp index 8239648f693..8fb797b5e9d 100644 --- a/src/mame/drivers/tb303.cpp +++ b/src/mame/drivers/tb303.cpp @@ -252,17 +252,17 @@ void tb303_state::machine_start() MACHINE_CONFIG_START(tb303_state::tb303) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NEC_D650, TP2_HZ) - MCFG_UCOM4_READ_A_CB(READ8(*this, tb303_state, input_r)) - MCFG_UCOM4_READ_B_CB(READ8(*this, tb303_state, input_r)) - MCFG_UCOM4_READ_C_CB(READ8(*this, tb303_state, ram_r)) - MCFG_UCOM4_WRITE_C_CB(WRITE8(*this, tb303_state, ram_w)) - MCFG_UCOM4_WRITE_D_CB(WRITE8(*this, tb303_state, ram_w)) - MCFG_UCOM4_WRITE_E_CB(WRITE8(*this, tb303_state, ram_w)) - MCFG_UCOM4_WRITE_F_CB(WRITE8(*this, tb303_state, ram_w)) - MCFG_UCOM4_WRITE_G_CB(WRITE8(*this, tb303_state, switch_w)) - MCFG_UCOM4_WRITE_H_CB(WRITE8(*this, tb303_state, switch_w)) - MCFG_UCOM4_WRITE_I_CB(WRITE8(*this, tb303_state, strobe_w)) + NEC_D650(config, m_maincpu, TP2_HZ); + m_maincpu->read_a().set(FUNC(tb303_state::input_r)); + m_maincpu->read_b().set(FUNC(tb303_state::input_r)); + m_maincpu->read_c().set(FUNC(tb303_state::ram_r)); + m_maincpu->write_c().set(FUNC(tb303_state::ram_w)); + m_maincpu->write_d().set(FUNC(tb303_state::ram_w)); + m_maincpu->write_e().set(FUNC(tb303_state::ram_w)); + m_maincpu->write_f().set(FUNC(tb303_state::ram_w)); + m_maincpu->write_g().set(FUNC(tb303_state::switch_w)); + m_maincpu->write_h().set(FUNC(tb303_state::switch_w)); + m_maincpu->write_i().set(FUNC(tb303_state::strobe_w)); MCFG_TIMER_DRIVER_ADD_PERIODIC("tp3_clock", tb303_state, tp3_clock, TP3_PERIOD) MCFG_TIMER_START_DELAY(TP3_PERIOD - TP3_LOW) diff --git a/src/mame/drivers/tsispch.cpp b/src/mame/drivers/tsispch.cpp index c6157793ff2..2d299a84e34 100644 --- a/src/mame/drivers/tsispch.cpp +++ b/src/mame/drivers/tsispch.cpp @@ -380,11 +380,11 @@ MACHINE_CONFIG_START(tsispch_state::prose2k) /* TODO: the UPD7720 has a 10KHz clock to its INT pin */ /* TODO: the UPD7720 has a 2MHz clock to its SCK pin */ /* TODO: hook up p0, p1, int */ - MCFG_DEVICE_ADD("dsp", UPD7725, 8000000) /* VERIFIED clock, unknown divider; correct dsp type is UPD77P20 */ - MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map) - MCFG_DEVICE_DATA_MAP(dsp_data_map) - MCFG_NECDSP_OUT_P0_CB(WRITELINE(*this, tsispch_state, dsp_to_8086_p0_w)) - MCFG_NECDSP_OUT_P1_CB(WRITELINE(*this, tsispch_state, dsp_to_8086_p1_w)) + UPD7725(config, m_dsp, 8000000); /* VERIFIED clock, unknown divider; correct dsp type is UPD77P20 */ + m_dsp->set_addrmap(AS_PROGRAM, &tsispch_state::dsp_prg_map); + m_dsp->set_addrmap(AS_IO, &tsispch_state::dsp_data_map); + m_dsp->p0().set(FUNC(tsispch_state::dsp_to_8086_p0_w)); + m_dsp->p1().set(FUNC(tsispch_state::dsp_to_8086_p1_w)); /* PIC 8259 */ PIC8259(config, m_pic, 0); diff --git a/src/mame/includes/hh_ucom4.h b/src/mame/includes/hh_ucom4.h index afcd5eca008..efc32cf54a0 100644 --- a/src/mame/includes/hh_ucom4.h +++ b/src/mame/includes/hh_ucom4.h @@ -31,7 +31,7 @@ public: { } // devices - required_device m_maincpu; + required_device m_maincpu; optional_ioport_array<5> m_inp_matrix; // max 5 output_finder<0x20, 0x20> m_out_x; output_finder<0x20> m_out_a; -- cgit v1.2.3