From a7dbfe5d91dd73b518f4bee8cae4d30eba04caeb Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Wed, 13 Feb 2013 23:51:22 +0000 Subject: [PATCH] Fixed regression with Shienryu --- src/emu/machine/smpc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/emu/machine/smpc.c b/src/emu/machine/smpc.c index 53d4f36a3cc..3d5c673ac1d 100644 --- a/src/emu/machine/smpc.c +++ b/src/emu/machine/smpc.c @@ -315,6 +315,8 @@ static TIMER_CALLBACK( stv_smpc_intback ) saturn_state *state = machine.driver_data(); int i; +// printf("%02x %02x %02x\n",state->m_smpc.intback_buf[0],state->m_smpc.intback_buf[1],state->m_smpc.intback_buf[2]); + if(state->m_smpc.intback_buf[0] != 0) { state->m_smpc.OREG[0] = (0x80) | ((state->m_NMI_reset & 1) << 6); @@ -365,6 +367,12 @@ static TIMER_CALLBACK( stv_smpc_intback ) state->m_smpc.OREG[31] = 0x10; machine.scheduler().timer_set(attotime::from_usec(0), FUNC(stv_intback_peripheral),0); } + else + { + /* Shienryu calls this, it would be plainly illegal on Saturn, I'll just return the command and clear the hs flag for now. */ + state->m_smpc.OREG[31] = 0x10; + state->m_smpc.SF = 0x00; + } }