src/mess/drivers/x68k.c
| r3120 | r3121 | |
| 647 | 647 | sys.mouse.irqactive = 1; |
| 648 | 648 | current_vector[5] = 0x54; |
| 649 | 649 | current_irq_line = 5; |
| 650 | | cpunum_set_input_line_and_vector(machine, 0,5,HOLD_LINE,0x54); |
| 650 | cpunum_set_input_line_and_vector(machine, 0,5,ASSERT_LINE,0x54); |
| 651 | 651 | } |
| 652 | 652 | } |
| 653 | 653 | } |
| r3120 | r3121 | |
| 822 | 822 | sys.ioc.irqstatus |= 0x80; |
| 823 | 823 | current_irq_line = 1; |
| 824 | 824 | logerror("FDC: IRQ triggered\n"); |
| 825 | | cpunum_set_input_line_and_vector(Machine, 0,1,HOLD_LINE,current_vector[1]); |
| 825 | cpunum_set_input_line_and_vector(Machine, 0,1,ASSERT_LINE,current_vector[1]); |
| 826 | 826 | } |
| 827 | 827 | } |
| 828 | 828 | |
| r3120 | r3121 | |
| 1503 | 1503 | static int prev; |
| 1504 | 1504 | if(prev == CLEAR_LINE && level == CLEAR_LINE) // eliminate unnecessary calls to set the IRQ line for speed reasons |
| 1505 | 1505 | return; |
| 1506 | | if((sys.ioc.irqstatus & 0xc0) != 0) // if the FDC is busy, then we don't want to miss that IRQ |
| 1507 | | return; |
| 1506 | // if((sys.ioc.irqstatus & 0xc0) != 0) // if the FDC is busy, then we don't want to miss that IRQ |
| 1507 | // return; |
| 1508 | 1508 | cpunum_set_input_line(device->machine, 0, 6, level); |
| 1509 | 1509 | prev = level; |
| 1510 | 1510 | } |
| r3120 | r3121 | |
| 1555 | 1555 | logerror("SYS: IRQ acknowledged (vector=0x%02x, line = %i)\n",current_vector[6],irqline); |
| 1556 | 1556 | return current_vector[6]; |
| 1557 | 1557 | } |
| 1558 | | |
| 1558 | |
| 1559 | 1559 | cpunum_set_input_line_and_vector(machine, 0,irqline,CLEAR_LINE,current_vector[irqline]); |
| 1560 | 1560 | if(irqline == 1) // IOSC |
| 1561 | 1561 | { |