summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/a1bus/a1cassette.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/a1bus/a1cassette.cpp')
-rw-r--r--src/devices/bus/a1bus/a1cassette.cpp9
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