| Previous | 199869 Revisions | Next |
| r19261 Monday 3rd December, 2012 at 02:07:52 UTC by R. Belmont |
|---|
| 6850acia: bring IRQ line into standard usage (ASSERT_LINE = IRQ active) [R. Belmont] (nw portion) These are the only 3 drivers I found that appear to use the 6850 IRQ callback; many others had it commented out. If you own such a driver and you commented it out due to weird behavior or whatever (isa_gus.c?) you might want to try again. |
| [src/emu/machine] | 6850acia.c |
| [src/mame/drivers] | bfcobra.c mpu4vid.c |
| [src/mess/drivers] | mirage.c |
| r19260 | r19261 | |
|---|---|---|
| 155 | 155 | m_tx_state = START; |
| 156 | 156 | m_irq = 0; |
| 157 | 157 | |
| 158 | m_out_irq_func( | |
| 158 | m_out_irq_func(CLEAR_LINE); | |
| 159 | 159 | |
| 160 | 160 | if (m_first_reset) |
| 161 | 161 | { |
| r19260 | r19261 | |
| 320 | 320 | if (irq) |
| 321 | 321 | { |
| 322 | 322 | m_status |= ACIA6850_STATUS_IRQ; |
| 323 | m_out_irq_func( | |
| 323 | m_out_irq_func(ASSERT_LINE); | |
| 324 | 324 | } |
| 325 | 325 | else |
| 326 | 326 | { |
| 327 | 327 | m_status &= ~ACIA6850_STATUS_IRQ; |
| 328 | m_out_irq_func( | |
| 328 | m_out_irq_func(CLEAR_LINE); | |
| 329 | 329 | } |
| 330 | 330 | } |
| 331 | 331 | } |
| r19260 | r19261 | |
|---|---|---|
| 102 | 102 | |
| 103 | 103 | WRITE_LINE_MEMBER(mirage_state::acia_irq_w) |
| 104 | 104 | { |
| 105 | m_maincpu->set_input_line(M6809_FIRQ_LINE, state | |
| 105 | m_maincpu->set_input_line(M6809_FIRQ_LINE, state); | |
| 106 | 106 | } |
| 107 | 107 | |
| 108 | 108 | void mirage_state::fdc_intrq_w(bool state) |
| r19260 | r19261 | |
|---|---|---|
| 323 | 323 | { |
| 324 | 324 | mpu4vid_state *state = machine.driver_data<mpu4vid_state>(); |
| 325 | 325 | machine.device("video")->execute().set_input_line(1, state->m_m6840_irq_state ? ASSERT_LINE : CLEAR_LINE); |
| 326 | machine.device("video")->execute().set_input_line(2, state->m_m6850_irq_state ? | |
| 326 | machine.device("video")->execute().set_input_line(2, state->m_m6850_irq_state ? ASSERT_LINE : CLEAR_LINE); | |
| 327 | 327 | machine.device("video")->execute().set_input_line(3, state->m_scn2674->get_irq_state() ? ASSERT_LINE : CLEAR_LINE); |
| 328 | 328 | } |
| 329 | 329 | |
| r19260 | r19261 | |
| 356 | 356 | |
| 357 | 357 | WRITE_LINE_MEMBER(mpu4vid_state::m6809_acia_irq) |
| 358 | 358 | { |
| 359 | m_m68k_acia_cts = !state; | |
| 360 | machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, state ? CLEAR_LINE : ASSERT_LINE); | |
| 359 | m_m68k_acia_cts = state; | |
| 360 | machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, state); | |
| 361 | 361 | } |
| 362 | 362 | |
| 363 | 363 | static ACIA6850_INTERFACE( m6809_acia_if ) |
| r19260 | r19261 | |
| 399 | 399 | |
| 400 | 400 | WRITE_LINE_MEMBER(mpu4vid_state::m68k_acia_irq) |
| 401 | 401 | { |
| 402 | m_m6809_acia_cts = | |
| 402 | m_m6809_acia_cts = state; | |
| 403 | 403 | m_m6850_irq_state = state; |
| 404 | 404 | update_mpu68_interrupts(machine()); |
| 405 | 405 | } |
| r19260 | r19261 | |
|---|---|---|
| 1631 | 1631 | |
| 1632 | 1632 | WRITE_LINE_MEMBER(bfcobra_state::z80_acia_irq) |
| 1633 | 1633 | { |
| 1634 | m_acia_irq = state | |
| 1634 | m_acia_irq = state; | |
| 1635 | 1635 | update_irqs(machine()); |
| 1636 | 1636 | } |
| 1637 | 1637 |
| Previous | 199869 Revisions | Next |