summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robert <Robbbert@users.noreply.github.com>2018-06-07 23:19:11 +1000
committer GitHub <noreply@github.com>2018-06-07 23:19:11 +1000
commit9b5db920ff3053f53a9710d82aa6c3ef332ef070 (patch)
treeba87f1c19510fcbf6d3b5bee85cf112420afe12f
parent7e92c376e8ea0fddf56e6833c49ee8cf37418280 (diff)
parentb62907a03ce6e8f8e7bb26c742e7a63b5613562a (diff)
Merge pull request #3641 from pmackinlay/interpro
mc146818: don't restart timer unnecessarily (nw)
-rw-r--r--src/devices/machine/mc146818.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/devices/machine/mc146818.cpp b/src/devices/machine/mc146818.cpp
index 8780643c2e3..254fa8a23b2 100644
--- a/src/devices/machine/mc146818.cpp
+++ b/src/devices/machine/mc146818.cpp
@@ -582,8 +582,11 @@ WRITE8_MEMBER( mc146818_device::write )
case REG_A:
// top bit of A is read only
- m_data[REG_A] = data & ~REG_A_UIP;
- update_timer();
+ if ((data ^ m_data[REG_A]) & ~REG_A_UIP)
+ {
+ m_data[REG_A] = data & ~REG_A_UIP;
+ update_timer();
+ }
break;
case REG_B: