summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2016-10-20 20:37:46 +0100
committer smf- <smf-@users.noreply.github.com>2016-10-20 20:38:04 +0100
commit93b37d2d786ed352f13ccd3c8f96c5c6cd94e2eb (patch)
tree18dc2c376005c22f5a835aff4d9169d7964cc64c
parentb2851a5931f1240d840f1c38c31108c2f8eeda82 (diff)
sync pc & curpc (nw)
-rw-r--r--src/devices/cpu/alph8201/alph8201.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/devices/cpu/alph8201/alph8201.cpp b/src/devices/cpu/alph8201/alph8201.cpp
index abaf502619a..bd50740d1d9 100644
--- a/src/devices/cpu/alph8201/alph8201.cpp
+++ b/src/devices/cpu/alph8201/alph8201.cpp
@@ -393,7 +393,7 @@ void alpha8201_cpu_device::device_start()
m_program = &space(AS_PROGRAM);
m_direct = &m_program->direct();
- state_add( ALPHA8201_PC, "PC", m_pc.w.l ).mask(0x3ff).formatstr("%03X");
+ state_add( ALPHA8201_PC, "PC", m_pc.w.l ).callimport().mask(0x3ff).formatstr("%03X");
state_add( ALPHA8201_SP, "SP", m_sp ).callimport().callexport().formatstr("%02X");
state_add( ALPHA8201_RB, "RB", m_regPtr ).mask(0x7);
state_add( ALPHA8201_MB, "MB", m_mb ).mask(0x3);
@@ -413,7 +413,7 @@ void alpha8201_cpu_device::device_start()
state_add( ALPHA8201_R5, "R5", m_R[5] ).callimport().callexport().formatstr("%02X");
state_add( ALPHA8201_R6, "R6", m_R[6] ).callimport().callexport().formatstr("%02X");
state_add( ALPHA8201_R7, "R7", m_R[7] ).callimport().callexport().formatstr("%02X");
- state_add( STATE_GENPCBASE, "CURPC", m_PREVPC ).noshow();
+ state_add( STATE_GENPCBASE, "CURPC", m_PREVPC ).callimport().noshow();
state_add( STATE_GENFLAGS, "CURFLAGS", m_flags ).callimport().callexport().formatstr("%2s").noshow();
state_add( STATE_GENSP, "CURSP", m_sp ).callimport().callexport();
@@ -445,6 +445,14 @@ void alpha8201_cpu_device::state_import(const device_state_entry &entry)
{
switch (entry.index())
{
+ case ALPHA8201_PC:
+ m_PREVPC = m_pc.w.l;
+ break;
+
+ case STATE_GENPCBASE:
+ m_pc.w.l = m_PREVPC;
+ break;
+
case STATE_GENFLAGS:
m_cf = BIT(m_flags, 1);
m_zf = BIT(m_flags, 0);