diff options
author | 2013-12-22 12:00:26 +0000 | |
---|---|---|
committer | 2013-12-22 12:00:26 +0000 | |
commit | b4c7b67ff9a1b12dd414502864cee66628b3bd19 (patch) | |
tree | d056e8e53b0778cde38a817def2c19eded32c18d /src/emu/bus/c64/midi_sci.c | |
parent | 8b0c23f055c9d6869f3a909072941f5c9025bb50 (diff) |
replaced read rx/cts/dcd callbacks in ACIA6850 write write handlers, which allows multiple chips to be connected together without using glue methods. [smf]
Diffstat (limited to 'src/emu/bus/c64/midi_sci.c')
-rw-r--r-- | src/emu/bus/c64/midi_sci.c | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/src/emu/bus/c64/midi_sci.c b/src/emu/bus/c64/midi_sci.c index c62815ceaef..144e1510299 100644 --- a/src/emu/bus/c64/midi_sci.c +++ b/src/emu/bus/c64/midi_sci.c @@ -37,24 +37,11 @@ WRITE_LINE_MEMBER( c64_sequential_midi_cartridge_device::acia_irq_w ) m_slot->irq_w(state); } -READ_LINE_MEMBER( c64_sequential_midi_cartridge_device::rx_in ) -{ - return m_rx_state; -} - -WRITE_LINE_MEMBER( c64_sequential_midi_cartridge_device::tx_out ) -{ - m_mdout->tx(state); -} - static ACIA6850_INTERFACE( acia_intf ) { 500000, 0, // rx clock (we manually clock rx) - DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_sequential_midi_cartridge_device, rx_in), - DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_sequential_midi_cartridge_device, tx_out), - DEVCB_NULL, - DEVCB_NULL, + DEVCB_DEVICE_LINE_MEMBER("mdout", serial_port_device, tx), DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, c64_sequential_midi_cartridge_device, acia_irq_w) }; @@ -70,7 +57,7 @@ SLOT_INTERFACE_END WRITE_LINE_MEMBER( c64_sequential_midi_cartridge_device::midi_rx_w ) { - m_rx_state = state; + m_acia->write_rx(state); for (int i = 0; i < 16; i++) // divider is set to 16 { @@ -125,9 +112,7 @@ machine_config_constructor c64_sequential_midi_cartridge_device::device_mconfig_ c64_sequential_midi_cartridge_device::c64_sequential_midi_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, C64_MIDI_SCI, "C64 Sequential Circuits MIDI", tag, owner, clock, "c64_midisci", __FILE__), device_c64_expansion_card_interface(mconfig, *this), - m_acia(*this, MC6850_TAG), - m_mdout(*this, "mdout"), - m_rx_state(0) + m_acia(*this, MC6850_TAG) { } @@ -139,7 +124,6 @@ c64_sequential_midi_cartridge_device::c64_sequential_midi_cartridge_device(const void c64_sequential_midi_cartridge_device::device_start() { // state saving - save_item(NAME(m_rx_state)); } //------------------------------------------------- @@ -149,8 +133,6 @@ void c64_sequential_midi_cartridge_device::device_start() void c64_sequential_midi_cartridge_device::device_reset() { m_acia->reset(); - - m_rx_state = 0; } |