summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/6522via.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/6522via.cpp')
-rw-r--r--src/devices/machine/6522via.cpp28
1 files changed, 8 insertions, 20 deletions
diff --git a/src/devices/machine/6522via.cpp b/src/devices/machine/6522via.cpp
index ddbd4ecf965..f37666b519a 100644
--- a/src/devices/machine/6522via.cpp
+++ b/src/devices/machine/6522via.cpp
@@ -776,19 +776,13 @@ u8 via6522_device::read(offs_t offset)
LOGSHIFT(" - ACR: %02x ", m_acr);
if (SI_O2_CONTROL(m_acr) || SO_O2_CONTROL(m_acr))
{
- if (m_shift_timer->expire().is_never())
- {
- m_shift_timer->adjust(clocks_to_attotime(7) / 2); // 8 edges to start shifter from a read -- use 7 for a mac128 issue to be fixed later
- LOGSHIFT(" - read SR starts O2 timer ");
- }
+ m_shift_timer->adjust(clocks_to_attotime(7) / 2); // 7 edges to cb1 change from start of read
+ LOGSHIFT(" - read SR starts O2 timer ");
}
else if (SI_T2_CONTROL(m_acr) || SO_T2_CONTROL(m_acr))
{
- if (m_shift_timer->expire().is_never())
- {
- m_shift_timer->adjust(clocks_to_attotime(m_t2ll + 2) / 2);
- LOGSHIFT(" - read SR starts T2 timer ");
- }
+ m_shift_timer->adjust(clocks_to_attotime(m_t2ll + 2) / 2);
+ LOGSHIFT(" - read SR starts T2 timer ");
}
else if (!SO_T2_RATE(m_acr))
{
@@ -978,19 +972,13 @@ void via6522_device::write(offs_t offset, u8 data)
LOGSHIFT(" - ACR is: %02x ", m_acr);
if (SO_O2_CONTROL(m_acr) || SI_O2_CONTROL(m_acr))
{
- if (m_shift_timer->expire().is_never())
- {
- m_shift_timer->adjust(clocks_to_attotime(8) / 2); // 8 edges to start shifter from a write
- LOGSHIFT(" - write SR starts O2 timer");
- }
+ m_shift_timer->adjust(clocks_to_attotime(6) / 2); // 6 edges to cb2 change from start of write
+ LOGSHIFT(" - write SR starts O2 timer");
}
else if (SO_T2_RATE(m_acr) || SO_T2_CONTROL(m_acr) || SI_T2_CONTROL(m_acr))
{
- if (m_shift_timer->expire().is_never())
- {
- m_shift_timer->adjust(clocks_to_attotime(m_t2ll + 2) / 2);
- LOGSHIFT(" - write starts T2 timer");
- }
+ m_shift_timer->adjust(clocks_to_attotime(m_t2ll + 2) / 2);
+ LOGSHIFT(" - write starts T2 timer");
}
else
{