diff options
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 |
commit | 0bf36324ded1deeaf11f26bbaa4bfce4a6a74f52 (patch) | |
tree | 3adbfa6ebb10d6439d64ba3e8eb9e60498fddf5f | |
parent | bc3895fa7467fd33ccd0b87d5e9ffd8b52dfd587 (diff) |
Doing the dummy read immediately on reset.
-rw-r--r-- | src/emu/sound/tms5220.c | 10 |
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; + } } /********************************************************************************************** |