Previous 15994 Revisions Next

r12072 Sunday 26th June, 2011 at 14:35:20 UTC by Angelo Salese
Fixed a SMPC bug with intback, fixes inputs in Konami MSX collection and Mortal Kombat 2
[src/mame/drivers]saturn.c

src/mame/drivers/saturn.c
r12071r12072
128128/*VDP2 stuff*/
129129/*SMPC stuff*/
130130/*SCU stuff*/
131/* TODO: not stated because IRQ system needs to be rewritten anyway ... */
132static int     timer_0;         /* Counter for Timer 0 irq*/
133static int    timer_1;          /* Counter for Timer 1 irq*/
134131
132
135133static struct
136134{
137135   UINT8 vblank_out;
r12071r12072
541539      state->m_smpc.smpcSR = 0x60;      // peripheral data ready, no reset, etc.
542540      state->m_smpc.pmode = state->m_smpc_ram[1]>>4;
543541
544      state->m_smpc.intback_stage = 1;
542      state->m_smpc.intback_stage = 2;
545543
546544      smpc_intbackhelper(machine);
547545   }
r12071r12072
24842482   state_save_register_global_pointer(machine, state->m_scsp_regs,  0x1000/2);
24852483   state_save_register_global(machine, state->m_NMI_reset);
24862484   state_save_register_global(machine, state->m_en_68k);
2487   state_save_register_global(machine, timer_0);
2488   state_save_register_global(machine, timer_1);
24892485//  state_save_register_global(machine, scanline);
24902486   state_save_register_global(machine, state->m_smpc.IOSEL1);
24912487   state_save_register_global(machine, state->m_smpc.IOSEL2);
r12071r12072
25292525   state_save_register_global_pointer(machine, state->m_scsp_regs,  0x1000/2);
25302526   state_save_register_global(machine, state->m_NMI_reset);
25312527   state_save_register_global(machine, state->m_en_68k);
2532   state_save_register_global(machine, timer_0);
2533   state_save_register_global(machine, timer_1);
25342528   state_save_register_global(machine, state->m_smpc.IOSEL1);
25352529   state_save_register_global(machine, state->m_smpc.IOSEL2);
25362530   state_save_register_global(machine, state->m_smpc.EXLE1);
r12071r12072
26782672
26792673   state->m_smpc.smpcSR = 0x40;   // this bit is always on according to docs
26802674
2681   timer_0 = 0;
2682   timer_1 = 0;
26832675   state->m_en_68k = 0;
26842676   state->m_NMI_reset = 1;
26852677   state->m_smpc_ram[0x21] = (0x80) | ((state->m_NMI_reset & 1) << 6);
r12071r12072
27332725   cputag_set_input_line(machine, "slave", INPUT_LINE_RESET, ASSERT_LINE);
27342726   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
27352727
2736   timer_0 = 0;
2737   timer_1 = 0;
27382728   state->m_en_68k = 0;
27392729   state->m_NMI_reset = 1;
27402730   state->m_smpc_ram[0x21] = (0x80) | ((state->m_NMI_reset & 1) << 6);

Previous 15994 Revisions Next


© 1998-2018 The MESS Team