summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Peter Ferrie <peter.ferrie@gmail.com>2017-08-22 15:45:57 -0700
committer Peter Ferrie <peter.ferrie@gmail.com>2017-08-22 15:45:57 -0700
commit38254b6379660ebe28191ca7901b898ab5cf8b69 (patch)
tree85edc54c0b09ebbb8332c345335a54c4c81eb957
parent4792c5a8cb3b60a6b2b099fe8404f54ced13d715 (diff)
apple2: update screen on mode-switch only if really switching [Peter Ferrie]
-rw-r--r--src/mame/drivers/apple2.cpp9
-rw-r--r--src/mame/drivers/apple2e.cpp7
2 files changed, 11 insertions, 5 deletions
diff --git a/src/mame/drivers/apple2.cpp b/src/mame/drivers/apple2.cpp
index 81d61115441..6caba17e4ad 100644
--- a/src/mame/drivers/apple2.cpp
+++ b/src/mame/drivers/apple2.cpp
@@ -520,9 +520,12 @@ void napple2_state::do_io(address_space &space, int offset)
WRITE_LINE_MEMBER(napple2_state::txt_w)
{
- // select graphics or text mode
- machine().first_screen()->update_now();
- m_video->m_graphics = !state;
+ if (m_video->m_graphics == state) // avoid flickering from II+ refresh polling
+ {
+ // select graphics or text mode
+ machine().first_screen()->update_now();
+ m_video->m_graphics = !state;
+ }
}
WRITE_LINE_MEMBER(napple2_state::mix_w)
diff --git a/src/mame/drivers/apple2e.cpp b/src/mame/drivers/apple2e.cpp
index dc0ea99767e..732a525b6d5 100644
--- a/src/mame/drivers/apple2e.cpp
+++ b/src/mame/drivers/apple2e.cpp
@@ -1319,8 +1319,11 @@ void apple2e_state::do_io(address_space &space, int offset, bool is_iic)
break;
case 0x50: // graphics mode
- machine().first_screen()->update_now();
- m_video->m_graphics = true;
+ if (m_video->m_graphics == false) // avoid flickering from II+ refresh polling
+ {
+ machine().first_screen()->update_now();
+ m_video->m_graphics = true;
+ }
break;
case 0x51: // text mode