diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2018-09-26 18:16:02 +0200 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2018-09-26 18:16:02 +0200 |
commit | 0ab6ef3f39e7fc5a2a136d24137e09b8e7859a2a (patch) | |
tree | c49c013e5b759e5f81805c18b46f7fa174245f29 | |
parent | b983fa0d7686ec5d9c88810592c8322159885d10 (diff) |
metro.cpp: removed MCFG macros for puzzlet_io_device (nw)
-rw-r--r-- | src/mame/drivers/metro.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp index 0ae0ebbea43..4ec8f31ea33 100644 --- a/src/mame/drivers/metro.cpp +++ b/src/mame/drivers/metro.cpp @@ -1142,12 +1142,6 @@ void metro_state::mouja_okimap(address_map &map) Puzzlet ***************************************************************************/ -#define MCFG_PUZZLET_IO_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, PUZZLET_IO, 0) - -#define MCFG_PUZZLET_IO_DATA_CALLBACK(_devcb) \ - puzzlet_io_device::set_data_cb(*device, DEVCB_##_devcb); - class puzzlet_io_device : public device_t { public: puzzlet_io_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); @@ -1155,7 +1149,7 @@ public: DECLARE_WRITE_LINE_MEMBER( ce_w ); DECLARE_WRITE_LINE_MEMBER( clk_w ); - template <class Object> static devcb_base &set_data_cb(device_t &device, Object &&cb) { return downcast<puzzlet_io_device &>(device).data_cb.set_callback(std::forward<Object>(cb)); } + auto data_callback() { return data_cb.bind(); } protected: virtual void device_start() override; @@ -3805,8 +3799,8 @@ MACHINE_CONFIG_START(metro_state::puzzlet) MCFG_DEVICE_IO_MAP(puzzlet_io_map) /* Coins/service */ - MCFG_PUZZLET_IO_ADD("coins") - MCFG_PUZZLET_IO_DATA_CALLBACK(WRITELINE("maincpu:sci1", h8_sci_device, rx_w)) + puzzlet_io_device &coins(PUZZLET_IO(config, "coins", 0)); + coins.data_callback().set("maincpu:sci1", FUNC(h8_sci_device::rx_w)); MCFG_DEVICE_MODIFY("maincpu:sci1") MCFG_H8_SCI_TX_CALLBACK(WRITELINE("coins", puzzlet_io_device, ce_w)) MCFG_H8_SCI_CLK_CALLBACK(WRITELINE("coins", puzzlet_io_device, clk_w)) |