diff options
Diffstat (limited to 'src/devices/bus/a1bus/a1cassette.cpp')
-rw-r--r-- | src/devices/bus/a1bus/a1cassette.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/devices/bus/a1bus/a1cassette.cpp b/src/devices/bus/a1bus/a1cassette.cpp index fc470ef7f94..d332aff0031 100644 --- a/src/devices/bus/a1bus/a1cassette.cpp +++ b/src/devices/bus/a1bus/a1cassette.cpp @@ -72,7 +72,7 @@ a1bus_cassette_device::a1bus_cassette_device(const machine_config &mconfig, devi void a1bus_cassette_device::device_start() { - install_device(0xc000, 0xc0ff, read8_delegate(*this, FUNC(a1bus_cassette_device::cassette_r)), write8_delegate(*this, FUNC(a1bus_cassette_device::cassette_w))); + install_device(0xc000, 0xc0ff, read8sm_delegate(*this, FUNC(a1bus_cassette_device::cassette_r)), write8sm_delegate(*this, FUNC(a1bus_cassette_device::cassette_w))); install_bank(0xc100, 0xc1ff, "bank_a1cas", &m_rom[0]); save_item(NAME(m_cassette_output_flipflop)); @@ -145,9 +145,10 @@ void a1bus_cassette_device::cassette_toggle_output() m_cassette->output(m_cassette_output_flipflop ? 1.0 : -1.0); } -READ8_MEMBER(a1bus_cassette_device::cassette_r) +uint8_t a1bus_cassette_device::cassette_r(offs_t offset) { - cassette_toggle_output(); + if (!machine().side_effects_disabled()) + cassette_toggle_output(); if (offset <= 0x7f) { @@ -180,7 +181,7 @@ READ8_MEMBER(a1bus_cassette_device::cassette_r) } } -WRITE8_MEMBER(a1bus_cassette_device::cassette_w) +void a1bus_cassette_device::cassette_w(offs_t offset, uint8_t data) { /* Writes toggle the output flip-flop in the same way that reads do; other than that they have no effect. Any repeated accesses |