summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/imagedev/midiin.c
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.c
parentfcc4b33f2e5528087cb4976a0d70ae92ec2853e9 (diff)
midiin_device: converted to devcb2 (nw)
Diffstat (limited to 'src/emu/imagedev/midiin.c')
-rw-r--r--src/emu/imagedev/midiin.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/emu/imagedev/midiin.c b/src/emu/imagedev/midiin.c
index bbd959bd617..8f0f14dd2e1 100644
--- a/src/emu/imagedev/midiin.c
+++ b/src/emu/imagedev/midiin.c
@@ -22,7 +22,8 @@ const device_type MIDIIN = &device_creator<midiin_device>;
midiin_device::midiin_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, MIDIIN, "MIDI In image device", tag, owner, clock, "midiin", __FILE__),
device_image_interface(mconfig, *this),
- device_serial_interface(mconfig, *this)
+ device_serial_interface(mconfig, *this),
+ m_input_cb(*this)
{
}
@@ -32,7 +33,7 @@ midiin_device::midiin_device(const machine_config &mconfig, const char *tag, dev
void midiin_device::device_start()
{
- m_input_func.resolve(m_input_callback, *this);
+ m_input_cb.resolve_safe();
m_timer = timer_alloc(0);
m_midi = NULL;
m_timer->enable(false);
@@ -55,15 +56,6 @@ void midiin_device::device_reset()
void midiin_device::device_config_complete(void)
{
- const midiin_config *intf = reinterpret_cast<const midiin_config *>(static_config());
- if(intf != NULL)
- {
- *static_cast<midiin_config *>(this) = *intf;
- }
- else
- {
- memset(&m_input_callback, 0, sizeof(m_input_callback));
- }
update_names();
}
@@ -152,7 +144,7 @@ void midiin_device::tra_complete()
void midiin_device::tra_callback()
{
int bit = transmit_register_get_data_bit();
- m_input_func(bit);
+ m_input_cb(bit);
}
void midiin_device::xmit_char(UINT8 data)