diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2017-06-23 20:08:39 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2017-06-23 20:11:17 -0400 |
commit | 97889a232fc814c7e113bd2c0e4158dede7e3498 (patch) | |
tree | 70e84749664202ca381cacc0338515c1a598ca49 | |
parent | c7b3741479fc505dd7e3c29e842b6fd5c74a1cab (diff) |
s2650: Allow program counter to be properly tracked by debugger
s2650: A few small status register-related refinements (nw)
quizshow: Change fake tape input back to old pseudo-random values that program handles better for some reason (nw)
-rw-r--r-- | src/devices/cpu/s2650/s2650.cpp | 6 | ||||
-rw-r--r-- | src/mame/drivers/quizshow.cpp | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/devices/cpu/s2650/s2650.cpp b/src/devices/cpu/s2650/s2650.cpp index d8d60cef344..50492b36069 100644 --- a/src/devices/cpu/s2650/s2650.cpp +++ b/src/devices/cpu/s2650/s2650.cpp @@ -728,7 +728,7 @@ inline uint8_t s2650_device::ARG() ***************************************************************/ #define M_CPSU() \ { \ - uint8_t cpsu = ARG(); \ + uint8_t cpsu = ARG() & ~SI; \ set_psu(m_psu & ~cpsu); \ m_icount -= check_irq_line(); \ } @@ -855,7 +855,7 @@ void s2650_device::device_start() state_add( S2650_FO, "FO", m_debugger_temp).mask(0x01).callimport().callexport().formatstr("%01X"); state_add( STATE_GENPC, "GENPC", m_debugger_temp).callexport().noshow(); - state_add( STATE_GENPCBASE, "CURPC", m_debugger_temp).callexport().noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_ppc).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%16s").noshow(); m_icountptr = &m_icount; @@ -1352,7 +1352,7 @@ void s2650_device::execute_run() break; case 0x92: /* LPSU */ m_icount -= 6; - set_psu((R0 & ~PSU34) & ~SI); + set_psu((R0 & ~PSU34 & ~SI) | (m_psu & SI)); break; case 0x93: /* LPSL */ m_icount -= 6; diff --git a/src/mame/drivers/quizshow.cpp b/src/mame/drivers/quizshow.cpp index 392b14db506..6ad64e7eb29 100644 --- a/src/mame/drivers/quizshow.cpp +++ b/src/mame/drivers/quizshow.cpp @@ -209,7 +209,7 @@ READ8_MEMBER(quizshow_state::quizshow_timing_r) READ_LINE_MEMBER(quizshow_state::quizshow_tape_signal_r) { // TODO (for now, hold INS to fastforward and it'll show garbage questions where D is always(?) the right answer) - return machine().rand() & 1; + return BIT(machine().rand(), 7); // better than machine().rand() & 1 for some reason } WRITE8_MEMBER(quizshow_state::quizshow_main_ram_w) |