summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Michael Zapf <michael.zapf@mizapf.de>2013-07-22 16:13:51 +0000
committer Michael Zapf <michael.zapf@mizapf.de>2013-07-22 16:13:51 +0000
commit0bf36324ded1deeaf11f26bbaa4bfce4a6a74f52 (patch)
tree3adbfa6ebb10d6439d64ba3e8eb9e60498fddf5f
parentbc3895fa7467fd33ccd0b87d5e9ffd8b52dfd587 (diff)
Doing the dummy read immediately on reset.
-rw-r--r--src/emu/sound/tms5220.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/emu/sound/tms5220.c b/src/emu/sound/tms5220.c
index 4b94ddd9c25..4040d67d036 100644
--- a/src/emu/sound/tms5220.c
+++ b/src/emu/sound/tms5220.c
@@ -1501,9 +1501,15 @@ void tms5220_device::device_reset()
memset(m_x, 0, sizeof(m_x));
if (m_speechrom)
+ {
m_speechrom->load_address(0);
-
- m_schedule_dummy_read = TRUE;
+ // MZ: Do the dummy read immediately. The previous line will cause a
+ // shift in the address pointer in the VSM. When the next command is a
+ // load_address, no dummy read will occur, hence the address will be
+ // falsely shifted.
+ m_speechrom->read(1);
+ m_schedule_dummy_read = FALSE;
+ }
}
/**********************************************************************************************