diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2018-08-01 17:07:40 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2018-08-01 17:07:40 -0400 |
commit | 768a48ff60e430d929800d7000065a0b54cef2a8 (patch) | |
tree | 50391cec351bd78fae9c7107b6e3a38121b9b3c7 | |
parent | be9c4ead94f3006d84fc00d1980579cfa68efd98 (diff) |
ripple_counter: Finish devcb3 conversion (nw)
-rw-r--r-- | src/devices/bus/ss50/mpc.cpp | 4 | ||||
-rw-r--r-- | src/devices/machine/ripple_counter.h | 15 | ||||
-rw-r--r-- | src/mame/drivers/mermaid.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/ms6102.cpp | 6 | ||||
-rw-r--r-- | src/mame/drivers/rainbow.cpp | 6 | ||||
-rw-r--r-- | src/mame/machine/vt100_kbd.cpp | 6 |
6 files changed, 15 insertions, 30 deletions
diff --git a/src/devices/bus/ss50/mpc.cpp b/src/devices/bus/ss50/mpc.cpp index 25a6ed43951..ff606f5e087 100644 --- a/src/devices/bus/ss50/mpc.cpp +++ b/src/devices/bus/ss50/mpc.cpp @@ -121,8 +121,8 @@ MACHINE_CONFIG_START(ss50_mpc_device::device_add_mconfig) MCFG_INPUT_MERGER_ANY_HIGH("loopback") MCFG_INPUT_MERGER_OUTPUT_HANDLER(WRITELINE("outgate", input_merger_device, in_w<1>)) - MCFG_DEVICE_ADD("counter", RIPPLE_COUNTER, 0) // CD4024AE (IC3) - MCFG_RIPPLE_COUNTER_STAGES(7) // only Q5 (÷32) and Q4 (÷16) are actually used + RIPPLE_COUNTER(config, m_counter); // CD4024AE (IC3) + m_counter->set_stages(7); // only Q5 (÷32) and Q4 (÷16) are actually used MACHINE_CONFIG_END diff --git a/src/devices/machine/ripple_counter.h b/src/devices/machine/ripple_counter.h index e61c1ec5ef8..5a4ad3e1295 100644 --- a/src/devices/machine/ripple_counter.h +++ b/src/devices/machine/ripple_counter.h @@ -12,19 +12,6 @@ #pragma once //************************************************************************** -// CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_RIPPLE_COUNTER_STAGES(_stages) \ - downcast<ripple_counter_device &>(*device).set_stages(_stages); - -// output callbacks -#define MCFG_RIPPLE_COUNTER_COUNT_OUT_CB(_devcb) \ - downcast<ripple_counter_device &>(*device).set_count_out_cb(DEVCB_##_devcb); -#define MCFG_RIPPLE_COUNTER_ROM_OUT_CB(_devcb) \ - downcast<ripple_counter_device &>(*device).set_rom_out_cb(DEVCB_##_devcb); - -//************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -38,8 +25,6 @@ public: // configuration void set_stages(u8 stages) { m_count_mask = (1U << stages) - 1; set_rom_addr_width(stages); } - template<class Object> devcb_base &set_count_out_cb(Object &&cb) { return m_count_out_cb.set_callback(std::forward<Object>(cb)); } - template<class Object> devcb_base &set_rom_out_cb(Object &&cb) { return m_rom_out_cb.set_callback(std::forward<Object>(cb)); } auto count_out_cb() { return m_count_out_cb.bind(); } auto rom_out_cb() { return m_rom_out_cb.bind(); } diff --git a/src/mame/drivers/mermaid.cpp b/src/mame/drivers/mermaid.cpp index 4ae015c8fee..fd8c2a7e8c8 100644 --- a/src/mame/drivers/mermaid.cpp +++ b/src/mame/drivers/mermaid.cpp @@ -484,10 +484,10 @@ MACHINE_CONFIG_START(mermaid_state::rougien) MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) - MCFG_DEVICE_ADD("adpcm_counter", RIPPLE_COUNTER, 0) - MCFG_DEVICE_ROM("adpcm") - MCFG_RIPPLE_COUNTER_STAGES(12) - MCFG_RIPPLE_COUNTER_ROM_OUT_CB(WRITE8(*this, mermaid_state, adpcm_data_w)) + RIPPLE_COUNTER(config, m_adpcm_counter); + m_adpcm_counter->set_device_rom_tag("adpcm"); + m_adpcm_counter->set_stages(12); + m_adpcm_counter->rom_out_cb().set(FUNC(mermaid_state::adpcm_data_w)); MACHINE_CONFIG_END /* ROMs */ diff --git a/src/mame/drivers/ms6102.cpp b/src/mame/drivers/ms6102.cpp index e7ab393ffb6..320e27d9c85 100644 --- a/src/mame/drivers/ms6102.cpp +++ b/src/mame/drivers/ms6102.cpp @@ -346,9 +346,9 @@ MACHINE_CONFIG_START(ms6102_state::ms6102) MCFG_AY31015_WRITE_DAV_CB(WRITELINE(*this, ms6102_state, irq<1>)) MCFG_AY31015_AUTO_RDAV(true) - MCFG_DEVICE_ADD("ie5", RIPPLE_COUNTER, XTAL(16'400'000) / 30) - MCFG_RIPPLE_COUNTER_STAGES(2) - MCFG_RIPPLE_COUNTER_COUNT_OUT_CB(WRITE8(*this, ms6102_state, kbd_uart_clock_w)) + ripple_counter_device &ie5(RIPPLE_COUNTER(config, "ie5", XTAL(16'400'000) / 30)); + ie5.set_stages(2); + ie5.count_out_cb().set(FUNC(ms6102_state::kbd_uart_clock_w)); MS7002(config, m_keyboard, 0).signal_out_callback().set(m_kbd_uart, FUNC(ay31015_device::write_si)); diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp index 91ea68f198b..61a9ca1b30d 100644 --- a/src/mame/drivers/rainbow.cpp +++ b/src/mame/drivers/rainbow.cpp @@ -3342,10 +3342,10 @@ MACHINE_CONFIG_START(rainbow_state::rainbow) MCFG_DEVICE_ADD(LK201_TAG, LK201, 0) MCFG_LK201_TX_HANDLER(WRITELINE("kbdser", i8251_device, write_rxd)) - MCFG_DEVICE_ADD("prtbrg", RIPPLE_COUNTER, 24.0734_MHz_XTAL / 6 / 13) // 74LS393 at E17 (both halves) + ripple_counter_device &prtbrg(RIPPLE_COUNTER(config, "prtbrg", 24.0734_MHz_XTAL / 6 / 13)); // 74LS393 at E17 (both halves) // divided clock should ideally be 307.2 kHz, but is actually approximately 308.6333 kHz - MCFG_RIPPLE_COUNTER_STAGES(8) - MCFG_RIPPLE_COUNTER_COUNT_OUT_CB(WRITE8(*this, rainbow_state, bitrate_counter_w)) + prtbrg.set_stages(8); + prtbrg.count_out_cb().set(FUNC(rainbow_state::bitrate_counter_w)); MCFG_TIMER_DRIVER_ADD_PERIODIC("motor", rainbow_state, hd_motor_tick, attotime::from_hz(60)) diff --git a/src/mame/machine/vt100_kbd.cpp b/src/mame/machine/vt100_kbd.cpp index c7cdd6d5141..b1c22f2845a 100644 --- a/src/mame/machine/vt100_kbd.cpp +++ b/src/mame/machine/vt100_kbd.cpp @@ -199,9 +199,9 @@ MACHINE_CONFIG_START(vt100_keyboard_device::device_add_mconfig) MCFG_DEVICE_ADD("uart", AY31015, 0) MCFG_AY31015_WRITE_SO_CB(WRITELINE(*this, vt100_keyboard_device, signal_out_w)) - MCFG_DEVICE_ADD("counter", RIPPLE_COUNTER, 0) // 2x 74LS93 - MCFG_RIPPLE_COUNTER_STAGES(8) - MCFG_RIPPLE_COUNTER_COUNT_OUT_CB(WRITE8(*this, vt100_keyboard_device, key_scan_w)) + RIPPLE_COUNTER(config, m_scan_counter); // 2x 74LS93 + m_scan_counter->set_stages(8); + m_scan_counter->count_out_cb().set(FUNC(vt100_keyboard_device::key_scan_w)); MACHINE_CONFIG_END |