summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit97889a232fc814c7e113bd2c0e4158dede7e3498 (patch)
tree70e84749664202ca381cacc0338515c1a598ca49
parentc7b3741479fc505dd7e3c29e842b6fd5c74a1cab (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.cpp6
-rw-r--r--src/mame/drivers/quizshow.cpp2
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)