Previous 15994 Revisions Next

r10258 Tuesday 1st February, 2011 at 16:22:46 UTC by Angelo Salese
[PC-8801]: Improved proper i8214 behaviour
[src/mess/drivers]pc8801.c

src/mess/drivers/pc8801.c
r10257r10258
18211821};
18221822
18231823#ifdef USE_PROPER_I8214
1824void pc8801_raise_irq(running_machine *machine,UINT8 irq,UINT8 mask)
1824void pc8801_raise_irq(running_machine *machine,UINT8 irq,UINT8 state)
18251825{
1826   m_int_state |= mask;
1826   if(state)
1827   {
1828      m_int_state |= irq;
18271829
1828   i8214_r_w(machine->device("i8214"), 0, ~irq);
1830      i8214_r_w(machine->device("i8214"), 0, ~irq);
18291831
1830   if(mask)
18311832      cputag_set_input_line(machine,"maincpu",0,ASSERT_LINE);
1833   }
1834   else
1835   {
1836      //m_int_state &= ~irq;
1837
1838      //cputag_set_input_line(machine,"maincpu",0,CLEAR_LINE);
1839   }
18321840}
18331841
18341842static WRITE_LINE_DEVICE_HANDLER( pic_int_w )
r10257r10258
18631871
18641872static void pc8801_sound_irq( device_t *device, int irq )
18651873{
1866   pc8801_raise_irq(device->machine,1<<(4),sound_irq_mask);
1874   if(sound_irq_mask && irq)
1875      pc8801_raise_irq(device->machine,1<<(4),1);
18671876}
18681877
18691878static TIMER_CALLBACK( pc8801_rtc_irq )
18701879{
1871   pc8801_raise_irq(machine,1<<(2),timer_irq_mask);
1880   if(timer_irq_mask)
1881      pc8801_raise_irq(machine,1<<(2),1);
18721882}
18731883
18741884static INTERRUPT_GEN( pc8801_vrtc_irq )
18751885{
1876   pc8801_raise_irq(device->machine,1<<(1),vblank_irq_mask);
1886   if(vblank_irq_mask)
1887      pc8801_raise_irq(device->machine,1<<(1),1);
18771888}
18781889
18791890#else

Previous 15994 Revisions Next


© 1998-2018 The MESS Team