summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/imagedev/serial.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2011-09-15 14:44:24 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2011-09-15 14:44:24 +0000
commit41ce518e84771da3ae89c43ece8913fea1cc59f8 (patch)
tree965706c3e993f0c0548cfe80862a51d5ce24f4e2 /src/emu/imagedev/serial.c
parent3cd6ddc32244a032a3e3c26630a12387b30e47ff (diff)
Fixed some issues with serial device (no whatsnew)
Diffstat (limited to 'src/emu/imagedev/serial.c')
-rw-r--r--src/emu/imagedev/serial.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/emu/imagedev/serial.c b/src/emu/imagedev/serial.c
index 85714e5da07..bc3295bbc8c 100644
--- a/src/emu/imagedev/serial.c
+++ b/src/emu/imagedev/serial.c
@@ -98,12 +98,12 @@ void serial_image_device::device_start()
transmit_register_reset();
receive_register_reset();
- set_transmit_state(m_transmit_on_start ? 1 :0);
-
device_serial_interface *intf = NULL;
- device_t *dev = machine().device(m_tag_connected);
- if (dev!=NULL && dev->interface(intf)) {
- intf->connect(this);
+ if (m_tag_connected) {
+ device_t *dev = machine().device(m_tag_connected);
+ if (dev!=NULL && dev->interface(intf)) {
+ intf->connect(this);
+ }
}
}
@@ -290,6 +290,7 @@ bool serial_image_device::call_load()
if (load_internal(&data, &data_length))
{
data_stream_init(&m_transmit, data, data_length);
+ set_transmit_state(m_transmit_on_start ? 1 :0);
return IMAGE_INIT_PASS;
}