From 79cb0586fba69b487127d41a8a6bfecc6e997e2b Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Sun, 19 Jun 2011 18:53:03 +0000 Subject: Port from MESS, nw --- src/mame/drivers/saturn.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mame/drivers/saturn.c b/src/mame/drivers/saturn.c index 123e9b24049..6f12bf26cc2 100644 --- a/src/mame/drivers/saturn.c +++ b/src/mame/drivers/saturn.c @@ -443,6 +443,7 @@ static void smpc_change_clock(running_machine &machine, UINT8 cmd) stv_vdp2_dynamic_res_change(machine); device_set_input_line(state->m_maincpu, INPUT_LINE_NMI, PULSE_LINE); // ff said this causes nmi, should we set a timer then nmi? + smpc_slave_enable(machine,1); /* TODO: VDP1 / VDP2 / SCU / SCSP default power ON values */ } @@ -755,7 +756,10 @@ static READ8_HANDLER( saturn_SMPC_r8 ) const int shift_bit[4] = { 4, 12, 8, 0 }; const char *const padnames[] = { "JOY1", "JOY2" }; - hshake = (state->m_smpc.PDR1>>5) & 3; + if(offset == 0x75) + hshake = (state->m_smpc.PDR1>>5) & 3; + else + hshake = (state->m_smpc.PDR2>>5) & 3; if (LOG_SMPC) logerror("SMPC: SH-2 direct mode, returning data for phase %d\n", hshake); @@ -795,7 +799,7 @@ static WRITE8_HANDLER( saturn_SMPC_w8 ) state->m_smpc.intback_stage = 2; } smpc_intbackhelper(machine); - cputag_set_input_line_and_vector(machine, "maincpu", 8, HOLD_LINE , 0x47); + device_set_input_line_and_vector(state->m_maincpu, 8, HOLD_LINE, 0x47); } if ((offset == 1) && (data & 0x40)) @@ -2753,6 +2757,7 @@ static MACHINE_RESET( stv ) state->m_scu.start_factor[1] = -1; state->m_scu.start_factor[2] = -1; } + struct cdrom_interface saturn_cdrom = { NULL, -- cgit v1.2.3