summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/imagedev/midiin.h
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2014-04-11 16:26:51 +0000
committer Ivan Vangelista <mesgnet@yahoo.it>2014-04-11 16:26:51 +0000
commitd707a9d54c560cc24b5d26cd14986b914ff24c27 (patch)
treecf6acf4838b7a7962a82ed592c8bd1f05030093b /src/emu/imagedev/midiin.h
parentfcc4b33f2e5528087cb4976a0d70ae92ec2853e9 (diff)
midiin_device: converted to devcb2 (nw)
Diffstat (limited to 'src/emu/imagedev/midiin.h')
-rw-r--r--src/emu/imagedev/midiin.h22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/emu/imagedev/midiin.h b/src/emu/imagedev/midiin.h
index 6deae720968..efa47f2d1ff 100644
--- a/src/emu/imagedev/midiin.h
+++ b/src/emu/imagedev/midiin.h
@@ -10,19 +10,8 @@
#define __MIDIIN_H__
-/***************************************************************************
- CONSTANTS
-***************************************************************************/
-
-struct midiin_config
-{
- /* callback to driver */
- devcb_write_line m_input_callback;
-};
-
-#define MCFG_MIDIIN_ADD(_tag, _config) \
- MCFG_DEVICE_ADD(_tag, MIDIIN, 0) \
- MCFG_DEVICE_CONFIG(_config)
+#define MCFG_MIDIIN_INPUT_CB(_devcb) \
+ devcb = &midiin_device::set_input_callback(*device, DEVCB2_##_devcb);
/***************************************************************************
@@ -31,13 +20,14 @@ struct midiin_config
class midiin_device : public device_t,
public device_image_interface,
- public device_serial_interface,
- public midiin_config
+ public device_serial_interface
{
public:
// construction/destruction
midiin_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ template<class _Object> static devcb2_base &set_input_callback(device_t &device, _Object object) { return downcast<midiin_device &>(device).m_input_cb.set_callback(object); }
+
// image-level overrides
virtual bool call_load();
virtual void call_unload();
@@ -72,7 +62,7 @@ private:
osd_midi_device *m_midi;
emu_timer *m_timer;
- devcb_resolved_write_line m_input_func;
+ devcb2_write_line m_input_cb;
UINT8 m_xmitring[XMIT_RING_SIZE];
int m_xmit_read, m_xmit_write;
bool m_tx_busy;