diff options
88 files changed, 123 insertions, 416 deletions
diff --git a/src/emu/bus/pci/southbridge.c b/src/emu/bus/pci/southbridge.c index 49af9412eeb..2bd52d7add9 100644 --- a/src/emu/bus/pci/southbridge.c +++ b/src/emu/bus/pci/southbridge.c @@ -141,11 +141,6 @@ southbridge_device::southbridge_device(const machine_config &mconfig, device_typ * **********************************************************/ -IRQ_CALLBACK_MEMBER(southbridge_device::at_irq_callback) -{ - return m_pic8259_master->inta_r(); -} - /// HACK: the memory system cannot cope with mixing the 8 bit device map from the fdc with a 32 bit handler READ8_MEMBER(southbridge_device::ide_read_cs1_r) { @@ -217,7 +212,7 @@ void southbridge_device::device_reset() READ8_MEMBER( southbridge_device::get_slave_ack ) { if (offset==2) // IRQ = 2 - return m_pic8259_slave->inta_r(); + return m_pic8259_slave->acknowledge(); return 0x00; } diff --git a/src/emu/bus/pci/southbridge.h b/src/emu/bus/pci/southbridge.h index 2a44422a477..1fde011f414 100644 --- a/src/emu/bus/pci/southbridge.h +++ b/src/emu/bus/pci/southbridge.h @@ -50,7 +50,6 @@ protected: virtual void device_reset(); public: - IRQ_CALLBACK_MEMBER(at_irq_callback); required_device<cpu_device> m_maincpu; required_device<pic8259_device> m_pic8259_master; required_device<pic8259_device> m_pic8259_slave; diff --git a/src/emu/machine/cs4031.c b/src/emu/machine/cs4031.c index ba35f39f55d..4d525f1facb 100644 --- a/src/emu/machine/cs4031.c +++ b/src/emu/machine/cs4031.c @@ -469,7 +469,7 @@ void cs4031_device::nmi() READ8_MEMBER( cs4031_device::intc1_slave_ack_r ) { if (offset == 2) // IRQ 2 - return m_intc2->inta_r(); + return m_intc2->acknowledge(); return 0x00; } diff --git a/src/emu/machine/cs4031.h b/src/emu/machine/cs4031.h index 9d1a95e6c14..982c8441f40 100644 --- a/src/emu/machine/cs4031.h +++ b/src/emu/machine/cs4031.h @@ -179,7 +179,7 @@ public: DECLARE_WRITE_LINE_MEMBER( gatea20_w ); DECLARE_WRITE_LINE_MEMBER( kbrst_w ); - UINT8 int_ack_r() { return m_intc1->inta_r(); } + IRQ_CALLBACK_MEMBER(int_ack_r) { return m_intc1->acknowledge(); } // inline configuration static void static_set_cputag(device_t &device, const char *tag); diff --git a/src/emu/machine/i80130.h b/src/emu/machine/i80130.h index ca67efd7639..0514f000bb7 100644 --- a/src/emu/machine/i80130.h +++ b/src/emu/machine/i80130.h @@ -70,7 +70,7 @@ public: virtual const rom_entry *device_rom_region() const; virtual machine_config_constructor device_mconfig_additions() const; - UINT8 inta_r() { return m_pic->inta_r(); } + UINT8 inta_r() { return m_pic->acknowledge(); } DECLARE_WRITE_LINE_MEMBER( ir0_w ) { m_pic->ir0_w(state); } DECLARE_WRITE_LINE_MEMBER( ir1_w ) { m_pic->ir1_w(state); } diff --git a/src/emu/machine/pic8259.c b/src/emu/machine/pic8259.c index 0b78ac0c05b..6f953124f01 100644 --- a/src/emu/machine/pic8259.c +++ b/src/emu/machine/pic8259.c @@ -146,7 +146,7 @@ UINT32 pic8259_device::acknowledge() } -UINT8 pic8259_device::inta_r() +IRQ_CALLBACK_MEMBER(pic8259_device::inta_cb) { return acknowledge(); } diff --git a/src/emu/machine/pic8259.h b/src/emu/machine/pic8259.h index e33c59ab2df..70667da7450 100644 --- a/src/emu/machine/pic8259.h +++ b/src/emu/machine/pic8259.h @@ -59,7 +59,7 @@ public: DECLARE_WRITE_LINE_MEMBER( ir6_w ) { set_irq_line(6, state); } DECLARE_WRITE_LINE_MEMBER( ir7_w ) { set_irq_line(7, state); } - UINT8 inta_r(); + IRQ_CALLBACK_MEMBER(inta_cb); protected: // device-level overrides diff --git a/src/mame/drivers/calchase.c b/src/mame/drivers/calchase.c index b8118ee0a78..e2aaede90ba 100644 --- a/src/mame/drivers/calchase.c +++ b/src/mame/drivers/calchase.c @@ -641,7 +641,7 @@ static MACHINE_CONFIG_START( calchase, calchase_state ) MCFG_CPU_ADD("maincpu", PENTIUM, 133000000) // Cyrix 686MX-PR200 CPU MCFG_CPU_PROGRAM_MAP(calchase_map) MCFG_CPU_IO_MAP(calchase_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(calchase_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/fruitpc.c b/src/mame/drivers/fruitpc.c index 23baabd126e..c326897f676 100644 --- a/src/mame/drivers/fruitpc.c +++ b/src/mame/drivers/fruitpc.c @@ -119,7 +119,7 @@ static MACHINE_CONFIG_START( fruitpc, fruitpc_state ) MCFG_CPU_ADD("maincpu", I486, 66000000) // ST STPCD0166BTC3 66 MHz 486 CPU MCFG_CPU_PROGRAM_MAP(fruitpc_map) MCFG_CPU_IO_MAP(fruitpc_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(fruitpc_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/funkball.c b/src/mame/drivers/funkball.c index e95c7f0f2ad..77ef3c306df 100644 --- a/src/mame/drivers/funkball.c +++ b/src/mame/drivers/funkball.c @@ -862,7 +862,7 @@ static MACHINE_CONFIG_START( funkball, funkball_state ) MCFG_CPU_ADD("maincpu", MEDIAGX, 66666666*3.5) // 66,6 MHz x 3.5 MCFG_CPU_PROGRAM_MAP(funkball_map) MCFG_CPU_IO_MAP(funkball_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(funkball_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/gamecstl.c b/src/mame/drivers/gamecstl.c index c84dd64bcc3..d288f7a7acf 100644 --- a/src/mame/drivers/gamecstl.c +++ b/src/mame/drivers/gamecstl.c @@ -430,7 +430,7 @@ static MACHINE_CONFIG_START( gamecstl, gamecstl_state ) MCFG_CPU_ADD("maincpu", PENTIUM3, 200000000) MCFG_CPU_PROGRAM_MAP(gamecstl_map) MCFG_CPU_IO_MAP(gamecstl_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(gamecstl_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/gammagic.c b/src/mame/drivers/gammagic.c index c0d81fbdf99..13148732ac6 100644 --- a/src/mame/drivers/gammagic.c +++ b/src/mame/drivers/gammagic.c @@ -125,7 +125,7 @@ static MACHINE_CONFIG_START( gammagic, gammagic_state ) MCFG_CPU_ADD("maincpu", PENTIUM, 133000000) // Intel Pentium 133 MCFG_CPU_PROGRAM_MAP(gammagic_map) MCFG_CPU_IO_MAP(gammagic_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(gammagic_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/lindbergh.c b/src/mame/drivers/lindbergh.c index 8544b83b7d4..2d95b28c9e1 100644 --- a/src/mame/drivers/lindbergh.c +++ b/src/mame/drivers/lindbergh.c @@ -269,6 +269,7 @@ static MACHINE_CONFIG_START(lindbergh, lindbergh_state) MCFG_CPU_ADD("maincpu", PENTIUM4, 28000000U*5) /* Actually Celeron D at 2,8 GHz */ MCFG_CPU_PROGRAM_MAP(lindbergh_map) MCFG_CPU_IO_MAP(lindbergh_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) MCFG_FRAGMENT_ADD( pcvideo_vga ) diff --git a/src/mame/drivers/magtouch.c b/src/mame/drivers/magtouch.c index 182164fd1a5..883edd30593 100644 --- a/src/mame/drivers/magtouch.c +++ b/src/mame/drivers/magtouch.c @@ -181,7 +181,7 @@ static MACHINE_CONFIG_START( magtouch, magtouch_state ) MCFG_CPU_ADD("maincpu", I386, 14318180*2) /* I386 ?? Mhz */ MCFG_CPU_PROGRAM_MAP(magtouch_map) MCFG_CPU_IO_MAP(magtouch_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(magtouch_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_vga ) diff --git a/src/mame/drivers/mediagx.c b/src/mame/drivers/mediagx.c index 48d4a0f3db8..dff598dcf18 100644 --- a/src/mame/drivers/mediagx.c +++ b/src/mame/drivers/mediagx.c @@ -873,7 +873,7 @@ static MACHINE_CONFIG_START( mediagx, mediagx_state ) MCFG_CPU_ADD("maincpu", MEDIAGX, 166000000) MCFG_CPU_PROGRAM_MAP(mediagx_map) MCFG_CPU_IO_MAP(mediagx_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(mediagx_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/midqslvr.c b/src/mame/drivers/midqslvr.c index 37c39770b0b..a56a0c192fc 100644 --- a/src/mame/drivers/midqslvr.c +++ b/src/mame/drivers/midqslvr.c @@ -409,7 +409,7 @@ static MACHINE_CONFIG_START( midqslvr, midqslvr_state ) MCFG_CPU_ADD("maincpu", PENTIUM, 333000000) // actually Celeron 333 MCFG_CPU_PROGRAM_MAP(midqslvr_map) MCFG_CPU_IO_MAP(midqslvr_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(midqslvr_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/pangofun.c b/src/mame/drivers/pangofun.c index f7f16f6995d..753a4e33b07 100644 --- a/src/mame/drivers/pangofun.c +++ b/src/mame/drivers/pangofun.c @@ -173,7 +173,7 @@ static MACHINE_CONFIG_START( pangofun, pangofun_state ) MCFG_CPU_ADD("maincpu", I486, 25000000 ) /* I486 ?? Mhz (25 according to POST) */ MCFG_CPU_PROGRAM_MAP(pcat_map) MCFG_CPU_IO_MAP(pcat_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pangofun_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_vga ) diff --git a/src/mame/drivers/pcat_dyn.c b/src/mame/drivers/pcat_dyn.c index 02a1c44c238..ebbdddbb8b3 100644 --- a/src/mame/drivers/pcat_dyn.c +++ b/src/mame/drivers/pcat_dyn.c @@ -113,7 +113,7 @@ static MACHINE_CONFIG_START( pcat_dyn, pcat_dyn_state ) MCFG_CPU_ADD("maincpu", I486, 40000000) /* Am486 DX-40 */ MCFG_CPU_PROGRAM_MAP(pcat_map) MCFG_CPU_IO_MAP(pcat_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pcat_dyn_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_vga ) diff --git a/src/mame/drivers/pcat_nit.c b/src/mame/drivers/pcat_nit.c index 6d081250947..be8a428c51a 100644 --- a/src/mame/drivers/pcat_nit.c +++ b/src/mame/drivers/pcat_nit.c @@ -232,7 +232,7 @@ static MACHINE_CONFIG_START( pcat_nit, pcat_nit_state ) MCFG_CPU_ADD("maincpu", I386, 14318180*2) /* I386 ?? Mhz */ MCFG_CPU_PROGRAM_MAP(pcat_map) MCFG_CPU_IO_MAP(pcat_nit_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pcat_nit_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_vga ) @@ -249,7 +249,7 @@ static MACHINE_CONFIG_START( bonanza, pcat_nit_state ) MCFG_CPU_ADD("maincpu", I386, 14318180*2) /* I386 ?? Mhz */ MCFG_CPU_PROGRAM_MAP(bonanza_map) MCFG_CPU_IO_MAP(bonanza_io_map) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pcat_nit_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_cirrus_vga ) diff --git a/src/mame/drivers/pcxt.c b/src/mame/drivers/pcxt.c index 9d7e119be12..21b0cd47efc 100644 --- a/src/mame/drivers/pcxt.c +++ b/src/mame/drivers/pcxt.c @@ -124,7 +124,6 @@ public: DECLARE_DRIVER_INIT(filetto); virtual void machine_reset(); UINT32 screen_update_tetriskr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - IRQ_CALLBACK_MEMBER(irq_callback); UINT8 pcxt_speaker_get_spk(); void pcxt_speaker_set_spkrdata(UINT8 data); required_device<cpu_device> m_maincpu; @@ -569,11 +568,6 @@ static I8237_INTERFACE( dma8237_1_config ) 8259 IRQ controller ******************/ -IRQ_CALLBACK_MEMBER(pcxt_state::irq_callback) -{ - return m_pic8259_1->acknowledge(); -} - static ADDRESS_MAP_START( filetto_map, AS_PROGRAM, 8, pcxt_state ) AM_RANGE(0x00000, 0x9ffff) AM_RAM //work RAM 640KB AM_RANGE(0xa0000, 0xbffff) AM_RAM //CGA VRAM @@ -716,7 +710,7 @@ static MACHINE_CONFIG_FRAGMENT(pcxt) MCFG_CPU_ADD("maincpu", I8088, XTAL_14_31818MHz/3) MCFG_CPU_PROGRAM_MAP(filetto_map) MCFG_CPU_IO_MAP(filetto_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pcxt_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_DEVICE_ADD("pit8253", PIT8253, 0) MCFG_PIT8253_CLK0(XTAL_14_31818MHz/12) /* heartbeat IRQ */ diff --git a/src/mame/drivers/photoply.c b/src/mame/drivers/photoply.c index 934109dec9f..381abdd8c40 100644 --- a/src/mame/drivers/photoply.c +++ b/src/mame/drivers/photoply.c @@ -119,7 +119,7 @@ static MACHINE_CONFIG_START( photoply, photoply_state ) MCFG_CPU_ADD("maincpu", I486, 75000000) /* I486DX4, 75 or 100 Mhz */ MCFG_CPU_PROGRAM_MAP(photoply_map) MCFG_CPU_IO_MAP(photoply_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(photoply_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/pinball2k.c b/src/mame/drivers/pinball2k.c index 6b265588400..6f0f5a5e5b3 100644 --- a/src/mame/drivers/pinball2k.c +++ b/src/mame/drivers/pinball2k.c @@ -572,7 +572,7 @@ static MACHINE_CONFIG_START( mediagx, pinball2k_state ) MCFG_CPU_ADD("maincpu", MEDIAGX, 166000000) MCFG_CPU_PROGRAM_MAP(mediagx_map) MCFG_CPU_IO_MAP(mediagx_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pinball2k_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/quakeat.c b/src/mame/drivers/quakeat.c index 8d93573961e..52f4ef40022 100644 --- a/src/mame/drivers/quakeat.c +++ b/src/mame/drivers/quakeat.c @@ -119,7 +119,7 @@ static MACHINE_CONFIG_START( quake, quakeat_state ) MCFG_CPU_ADD("maincpu", PENTIUM2, 233000000) /* Pentium II, 233MHz */ MCFG_CPU_PROGRAM_MAP(quake_map) MCFG_CPU_IO_MAP(quake_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(quakeat_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/queen.c b/src/mame/drivers/queen.c index 33bd4f5dc50..ad7085efd54 100644 --- a/src/mame/drivers/queen.c +++ b/src/mame/drivers/queen.c @@ -267,7 +267,7 @@ static MACHINE_CONFIG_START( queen, queen_state ) MCFG_CPU_ADD("maincpu", PENTIUM3, 533000000/16) // Celeron or Pentium 3, 533 Mhz MCFG_CPU_PROGRAM_MAP(queen_map) MCFG_CPU_IO_MAP(queen_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(queen_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/savquest.c b/src/mame/drivers/savquest.c index 76f582b3a10..edf4ffa2714 100644 --- a/src/mame/drivers/savquest.c +++ b/src/mame/drivers/savquest.c @@ -674,7 +674,7 @@ static MACHINE_CONFIG_START( savquest, savquest_state ) MCFG_CPU_ADD("maincpu", PENTIUM2, 450000000) // actually Pentium II 450 MCFG_CPU_PROGRAM_MAP(savquest_map) MCFG_CPU_IO_MAP(savquest_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(savquest_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/su2000.c b/src/mame/drivers/su2000.c index 2bfffbb6102..eb6ad63a157 100644 --- a/src/mame/drivers/su2000.c +++ b/src/mame/drivers/su2000.c @@ -65,8 +65,6 @@ public: : pcat_base_state(mconfig, type, tag){ } UINT32 *m_pc_ram; - DECLARE_WRITE_LINE_MEMBER(su2000_pic8259_1_set_int_line); - DECLARE_READ8_MEMBER(get_slave_ack); virtual void machine_start(); virtual void machine_reset(); }; @@ -116,28 +114,6 @@ static void ide_interrupt(device_t *device, int state) #endif -/************************************************************* - * - * PIC8259 Configuration - * - *************************************************************/ - -WRITE_LINE_MEMBER(su2000_state::su2000_pic8259_1_set_int_line) -{ - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - -READ8_MEMBER(su2000_state::get_slave_ack) -{ - if (offset == 2) - { - // IRQ = 2 - //logerror("pic8259_slave_ACK!\n"); - return m_pic8259_2->acknowledge(); - } - return 0x00; -} - /************************************* * * Initialization @@ -177,7 +153,7 @@ static MACHINE_CONFIG_START( su2000, su2000_state ) MCFG_CPU_ADD("maincpu", I486, I486_CLOCK) MCFG_CPU_PROGRAM_MAP(pcat_map) MCFG_CPU_IO_MAP(pcat_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(su2000_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) #if 0 MCFG_CPU_ADD("tracker", TMS32031, TMS320C1_CLOCK) diff --git a/src/mame/drivers/taitowlf.c b/src/mame/drivers/taitowlf.c index eedccc48a68..ee9b2bd9635 100644 --- a/src/mame/drivers/taitowlf.c +++ b/src/mame/drivers/taitowlf.c @@ -369,7 +369,7 @@ static MACHINE_CONFIG_START( taitowlf, taitowlf_state ) MCFG_CPU_ADD("maincpu", PENTIUM, 200000000) MCFG_CPU_PROGRAM_MAP(taitowlf_map) MCFG_CPU_IO_MAP(taitowlf_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(taitowlf_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0) diff --git a/src/mame/drivers/voyager.c b/src/mame/drivers/voyager.c index ba11975e271..7d32f20e1c8 100644 --- a/src/mame/drivers/voyager.c +++ b/src/mame/drivers/voyager.c @@ -476,7 +476,7 @@ static MACHINE_CONFIG_START( voyager, voyager_state ) MCFG_CPU_ADD("maincpu", PENTIUM3, 133000000) // actually AMD Duron CPU of unknown clock MCFG_CPU_PROGRAM_MAP(voyager_map) MCFG_CPU_IO_MAP(voyager_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(voyager_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/drivers/xtom3d.c b/src/mame/drivers/xtom3d.c index ffafe657646..a32852f1761 100644 --- a/src/mame/drivers/xtom3d.c +++ b/src/mame/drivers/xtom3d.c @@ -396,7 +396,7 @@ static MACHINE_CONFIG_START( xtom3d, xtom3d_state ) MCFG_CPU_ADD("maincpu", PENTIUM2, 450000000/16) // actually Pentium II 450 MCFG_CPU_PROGRAM_MAP(xtom3d_map) MCFG_CPU_IO_MAP(xtom3d_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(xtom3d_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) diff --git a/src/mame/machine/pcshare.c b/src/mame/machine/pcshare.c index 636889e861a..3a7e35d6f34 100644 --- a/src/mame/machine/pcshare.c +++ b/src/mame/machine/pcshare.c @@ -151,12 +151,6 @@ READ8_MEMBER( pcat_base_state::get_slave_ack ) return 0x00; } -IRQ_CALLBACK_MEMBER(pcat_base_state::irq_callback) -{ - return m_pic8259_1->acknowledge(); -} - - WRITE_LINE_MEMBER( pcat_base_state::at_pit8254_out2_changed ) { m_pit_out2 = state; diff --git a/src/mame/machine/pcshare.h b/src/mame/machine/pcshare.h index 1e42ef7ba33..d61c2c2f81a 100644 --- a/src/mame/machine/pcshare.h +++ b/src/mame/machine/pcshare.h @@ -20,8 +20,6 @@ public: { } - IRQ_CALLBACK_MEMBER(irq_callback); - required_device<cpu_device> m_maincpu; required_device<am9517a_device> m_dma8237_1; required_device<am9517a_device> m_dma8237_2; diff --git a/src/mess/drivers/amstr_pc.c b/src/mess/drivers/amstr_pc.c index a900ba7ae9e..935606c26e6 100644 --- a/src/mess/drivers/amstr_pc.c +++ b/src/mess/drivers/amstr_pc.c @@ -494,6 +494,7 @@ static MACHINE_CONFIG_START( pc200, amstrad_pc_state ) MCFG_CPU_ADD("maincpu", I8086, 8000000) MCFG_CPU_PROGRAM_MAP(ppc640_map) MCFG_CPU_IO_MAP(pc200_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_PCNOPPI_MOTHERBOARD_ADD("mb", "maincpu") @@ -531,6 +532,7 @@ static MACHINE_CONFIG_DERIVED( ppc512, pc200 ) MCFG_CPU_ADD("maincpu", V30, 8000000) MCFG_CPU_PROGRAM_MAP(ppc512_map) MCFG_CPU_IO_MAP(ppc512_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_DEVICE_REMOVE("isa1") MCFG_DEVICE_REMOVE("isa2") diff --git a/src/mess/drivers/apc.c b/src/mess/drivers/apc.c index bffc119b432..c12ab3ba040 100644 --- a/src/mess/drivers/apc.c +++ b/src/mess/drivers/apc.c @@ -131,7 +131,6 @@ public: }m_keyb; DECLARE_INPUT_CHANGED_MEMBER(key_stroke); - DECLARE_WRITE_LINE_MEMBER(apc_master_set_int_line); DECLARE_READ8_MEMBER(get_slave_ack); DECLARE_WRITE_LINE_MEMBER(apc_dma_hrq_changed); DECLARE_WRITE_LINE_MEMBER(apc_tc_w); @@ -150,8 +149,6 @@ public: int m_dack; UINT8 m_dma_offset[4]; - IRQ_CALLBACK_MEMBER(irq_callback); - UPD7220_DISPLAY_PIXELS_MEMBER( hgdc_display_pixels ); UPD7220_DRAW_TEXT_LINE_MEMBER( hgdc_draw_text ); @@ -738,11 +735,6 @@ CASETBL: PORT_BIT(0x04,IP_ACTIVE_HIGH,IPT_KEYBOARD) PORT_NAME("CAPS LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE INPUT_PORTS_END -IRQ_CALLBACK_MEMBER(apc_state::irq_callback) -{ - return machine().device<pic8259_device>( "pic8259_master" )->acknowledge(); -} - void apc_state::machine_start() { m_fdc->set_rate(500000); @@ -826,13 +818,6 @@ ir6 Option ir7 APU */ -WRITE_LINE_MEMBER(apc_state::apc_master_set_int_line) -{ - //printf("%02x\n",interrupt); -// printf("irq %d\n",state); - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - READ8_MEMBER(apc_state::get_slave_ack) { if (offset==7) { // IRQ = 7 @@ -949,7 +934,7 @@ static MACHINE_CONFIG_START( apc, apc_state ) MCFG_CPU_ADD("maincpu",I8086,MAIN_CLOCK) MCFG_CPU_PROGRAM_MAP(apc_map) MCFG_CPU_IO_MAP(apc_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(apc_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_DEVICE_ADD("pit8253", PIT8253, 0) MCFG_PIT8253_CLK0(MAIN_CLOCK) /* heartbeat IRQ */ @@ -957,7 +942,7 @@ static MACHINE_CONFIG_START( apc, apc_state ) MCFG_PIT8253_CLK1(MAIN_CLOCK) /* Memory Refresh */ MCFG_PIT8253_CLK2(MAIN_CLOCK) /* RS-232c */ - MCFG_PIC8259_ADD( "pic8259_master", WRITELINE(apc_state, apc_master_set_int_line), VCC, READ8(apc_state,get_slave_ack) ) + MCFG_PIC8259_ADD( "pic8259_master", INPUTLINE("maincpu", 0), VCC, READ8(apc_state,get_slave_ack) ) MCFG_PIC8259_ADD( "pic8259_slave", DEVWRITELINE("pic8259_master", pic8259_device, ir7_w), GND, NULL ) // TODO: check ir7_w MCFG_I8237_ADD("i8237", MAIN_CLOCK, dmac_intf) diff --git a/src/mess/drivers/apricot.c b/src/mess/drivers/apricot.c index e0822db1440..2a988f199fd 100644 --- a/src/mess/drivers/apricot.c +++ b/src/mess/drivers/apricot.c @@ -94,8 +94,6 @@ public: virtual void machine_start(); - IRQ_CALLBACK_MEMBER( irq_callback ) { return m_pic->inta_r(); } - int m_data_selector_dtr; int m_data_selector_rts; @@ -356,7 +354,7 @@ static MACHINE_CONFIG_START( apricot, apricot_state ) MCFG_CPU_ADD("ic91", I8086, XTAL_15MHz / 3) MCFG_CPU_PROGRAM_MAP(apricot_mem) MCFG_CPU_IO_MAP(apricot_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(apricot_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("ic31", pic8259_device, inta_cb) // i/o cpu MCFG_CPU_ADD("ic71", I8089, XTAL_15MHz / 3) diff --git a/src/mess/drivers/apricotp.c b/src/mess/drivers/apricotp.c index 0f957003f3f..9b0243ef22c 100644 --- a/src/mess/drivers/apricotp.c +++ b/src/mess/drivers/apricotp.c @@ -408,11 +408,6 @@ INPUT_PORTS_END // pic8259_interface pic_intf //------------------------------------------------- - IRQ_CALLBACK_MEMBER(fp_state::fp_irq_callback) -{ - return m_pic->inta_r(); -} - /* INT0 TIMER @@ -551,7 +546,7 @@ static MACHINE_CONFIG_START( fp, fp_state ) MCFG_CPU_ADD(I8086_TAG, I8086, XTAL_15MHz/3) MCFG_CPU_PROGRAM_MAP(fp_mem) MCFG_CPU_IO_MAP(fp_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(fp_state,fp_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(I8259A_TAG, pic8259_device, inta_cb) MCFG_CPU_ADD(HD63B01V1_TAG, HD6301, 2000000) MCFG_CPU_PROGRAM_MAP(sound_mem) diff --git a/src/mess/drivers/at.c b/src/mess/drivers/at.c index 84aa8183c89..2833505cfe2 100644 --- a/src/mess/drivers/at.c +++ b/src/mess/drivers/at.c @@ -352,7 +352,7 @@ static MACHINE_CONFIG_START( ibm5170, at_state ) MCFG_CPU_ADD("maincpu", I80286, XTAL_12MHz/2 /*6000000*/) MCFG_CPU_PROGRAM_MAP(at16_map) MCFG_CPU_IO_MAP(at16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_80286_A20(at_state, at_286_a20) MCFG_80286_SHUTDOWN(WRITELINE(at_state, at_shutdown)) @@ -392,7 +392,7 @@ static MACHINE_CONFIG_START( ibmps1, at_state ) MCFG_CPU_ADD("maincpu", I80286, XTAL_10MHz) MCFG_CPU_PROGRAM_MAP(ps1_286_map) MCFG_CPU_IO_MAP(ps1_286_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_80286_A20(at_state, at_286_a20) MCFG_80286_SHUTDOWN(WRITELINE(at_state, at_shutdown)) @@ -417,7 +417,7 @@ static MACHINE_CONFIG_START( ibm5162, at_state ) MCFG_CPU_ADD("maincpu", I80286, 6000000 /*6000000*/) MCFG_CPU_PROGRAM_MAP(at16_map) MCFG_CPU_IO_MAP(at16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_80286_A20(at_state, at_286_a20) MCFG_80286_SHUTDOWN(WRITELINE(at_state, at_shutdown)) @@ -443,7 +443,7 @@ static MACHINE_CONFIG_START( ps2m30286, at_state ) MCFG_CPU_ADD("maincpu", I80286, 10000000) MCFG_CPU_PROGRAM_MAP(ps2m30286_map) MCFG_CPU_IO_MAP(ps1_286_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_80286_A20(at_state, at_286_a20) MCFG_80286_SHUTDOWN(WRITELINE(at_state, at_shutdown)) @@ -469,7 +469,7 @@ static MACHINE_CONFIG_START( neat, at_state ) MCFG_CPU_ADD("maincpu", I80286, 12000000) MCFG_CPU_PROGRAM_MAP(at16_map) MCFG_CPU_IO_MAP(neat_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_80286_A20(at_state, at_286_a20) MCFG_80286_SHUTDOWN(WRITELINE(at_state, at_shutdown)) @@ -494,7 +494,7 @@ static MACHINE_CONFIG_START( atvga, at_state ) MCFG_CPU_ADD("maincpu", I80286, 12000000) MCFG_CPU_PROGRAM_MAP(at16_map) MCFG_CPU_IO_MAP(at16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_80286_A20(at_state, at_286_a20) MCFG_80286_SHUTDOWN(WRITELINE(at_state, at_shutdown)) @@ -518,7 +518,7 @@ static MACHINE_CONFIG_START( xb42639, at_state ) MCFG_CPU_ADD("maincpu", I80286, 12500000) MCFG_CPU_PROGRAM_MAP(at16_map) MCFG_CPU_IO_MAP(at16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_80286_A20(at_state, at_286_a20) MCFG_80286_SHUTDOWN(WRITELINE(at_state, at_shutdown)) @@ -541,7 +541,7 @@ static MACHINE_CONFIG_START( at386, at_state ) MCFG_CPU_ADD("maincpu", I386, 12000000) MCFG_CPU_PROGRAM_MAP(at386_map) MCFG_CPU_IO_MAP(at386_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( at_motherboard ) MCFG_NVRAM_ADD_0FILL("nvram") @@ -576,7 +576,7 @@ static MACHINE_CONFIG_DERIVED( at486, at386 ) MCFG_CPU_REPLACE("maincpu", I486, 25000000) MCFG_CPU_PROGRAM_MAP(at386_map) MCFG_CPU_IO_MAP(at386_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MACHINE_CONFIG_END @@ -585,7 +585,7 @@ static MACHINE_CONFIG_START( k286i, at_state ) MCFG_CPU_ADD("maincpu", I80286, XTAL_12MHz/2 /*6000000*/) MCFG_CPU_PROGRAM_MAP(at16_map) MCFG_CPU_IO_MAP(at16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_80286_A20(at_state, at_286_a20) MCFG_80286_SHUTDOWN(WRITELINE(at_state, at_shutdown)) @@ -626,7 +626,7 @@ static MACHINE_CONFIG_START( at586, at586_state ) MCFG_CPU_ADD("maincpu", PENTIUM, 60000000) MCFG_CPU_PROGRAM_MAP(at586_map) MCFG_CPU_IO_MAP(at586_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pcibus:1:i82371ab", southbridge_device,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pcibus:1:i82371ab:pic8259_master", pic8259_device, inta_cb) MCFG_RAM_ADD(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("4M") @@ -650,7 +650,7 @@ static MACHINE_CONFIG_START( at586x3, at586_state ) MCFG_CPU_ADD("maincpu", PENTIUM, 60000000) MCFG_CPU_PROGRAM_MAP(at586_map) MCFG_CPU_IO_MAP(at586_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pcibus:1:i82371sb", southbridge_device,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pcibus:1:i82371sb:pic8259_master", pic8259_device, inta_cb) MCFG_RAM_ADD(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("4M") @@ -674,21 +674,21 @@ static MACHINE_CONFIG_DERIVED( at386sx, atvga ) MCFG_CPU_REPLACE("maincpu", I386SX, 16000000) /* 386SX */ MCFG_CPU_PROGRAM_MAP(at16_map) MCFG_CPU_IO_MAP(at16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( ct386sx, neat ) MCFG_CPU_REPLACE("maincpu", I386SX, 16000000) MCFG_CPU_PROGRAM_MAP(at16_map) MCFG_CPU_IO_MAP(neat_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( megapc, at386 ) MCFG_CPU_REPLACE("maincpu", I386, XTAL_50MHz / 2) MCFG_CPU_PROGRAM_MAP(at386_map) MCFG_CPU_IO_MAP(megapc_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) /* software lists */ MCFG_SOFTWARE_LIST_ADD("disk_list","megapc") @@ -698,7 +698,7 @@ static MACHINE_CONFIG_DERIVED( megapcpl, megapc ) MCFG_CPU_REPLACE("maincpu", I486, 66000000 / 2) MCFG_CPU_PROGRAM_MAP(at386_map) MCFG_CPU_IO_MAP(megapc_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(at_state,at_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MACHINE_CONFIG_END diff --git a/src/mess/drivers/b2m.c b/src/mess/drivers/b2m.c index 7a0f24a5132..0510f7f4171 100644 --- a/src/mess/drivers/b2m.c +++ b/src/mess/drivers/b2m.c @@ -186,7 +186,7 @@ static MACHINE_CONFIG_START( b2m, b2m_state ) MCFG_CPU_PROGRAM_MAP(b2m_mem) MCFG_CPU_IO_MAP(b2m_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", b2m_state, b2m_vblank_interrupt) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(b2m_state,b2m_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -222,7 +222,7 @@ static MACHINE_CONFIG_START( b2m, b2m_state ) MCFG_I8255_OUT_PORTB_CB(WRITE8(b2m_state, b2m_romdisk_portb_w)) MCFG_I8255_OUT_PORTC_CB(WRITE8(b2m_state, b2m_romdisk_portc_w)) - MCFG_PIC8259_ADD( "pic8259", WRITELINE(b2m_state,b2m_pic_set_int_line), VCC, NULL ) + MCFG_PIC8259_ADD( "pic8259", INPUTLINE("maincpu", 0), VCC, NULL ) /* sound */ MCFG_SPEAKER_STANDARD_MONO("mono") diff --git a/src/mess/drivers/cbm2.c b/src/mess/drivers/cbm2.c index a489bc5f851..a06698a7bc5 100644 --- a/src/mess/drivers/cbm2.c +++ b/src/mess/drivers/cbm2.c @@ -1591,16 +1591,6 @@ READ8_MEMBER( cbm2_state::cia_pb_r ) //------------------------------------------------- -// pic8259_interface ext_pic_intf -//------------------------------------------------- - -IRQ_CALLBACK_MEMBER(cbm2_state::pic_irq_callback) -{ - return m_ext_pic->inta_r(); -} - - -//------------------------------------------------- // tpi6525_interface ext_tpi_intf //------------------------------------------------- @@ -2431,7 +2421,7 @@ static MACHINE_CONFIG_DERIVED( bx256hp, b256hp ) MCFG_CPU_ADD(EXT_I8088_TAG, I8088, XTAL_12MHz) MCFG_CPU_PROGRAM_MAP(ext_mem) MCFG_CPU_IO_MAP(ext_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(cbm2_state,pic_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(EXT_I8259A_TAG, pic8259_device, inta_cb) MCFG_PIC8259_ADD(EXT_I8259A_TAG, INPUTLINE(EXT_I8088_TAG, INPUT_LINE_IRQ0), VCC, NULL) MCFG_DEVICE_ADD(EXT_MOS6525_TAG, TPI6525, 0) @@ -2494,7 +2484,7 @@ static MACHINE_CONFIG_DERIVED( cbm730, cbm720 ) MCFG_CPU_ADD(EXT_I8088_TAG, I8088, XTAL_12MHz) MCFG_CPU_PROGRAM_MAP(ext_mem) MCFG_CPU_IO_MAP(ext_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(cbm2_state,pic_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(EXT_I8259A_TAG, pic8259_device, inta_cb) MCFG_PIC8259_ADD(EXT_I8259A_TAG, INPUTLINE(EXT_I8088_TAG, INPUT_LINE_IRQ0), VCC, NULL) MCFG_DEVICE_ADD(EXT_MOS6525_TAG, TPI6525, 0) diff --git a/src/mess/drivers/ct486.c b/src/mess/drivers/ct486.c index 78aab481835..34be9e6fce8 100644 --- a/src/mess/drivers/ct486.c +++ b/src/mess/drivers/ct486.c @@ -41,8 +41,6 @@ public: virtual void machine_start(); - IRQ_CALLBACK_MEMBER( irq_callback ) { return m_cs4031->int_ack_r(); } - DECLARE_READ16_MEMBER( cs4031_ior ); DECLARE_WRITE16_MEMBER( cs4031_iow ); DECLARE_WRITE_LINE_MEMBER( cs4031_hold ); @@ -105,7 +103,7 @@ static MACHINE_CONFIG_START( ct486, ct486_state ) MCFG_CPU_ADD("maincpu", I486, XTAL_25MHz) MCFG_CPU_PROGRAM_MAP(ct486_map) MCFG_CPU_IO_MAP(ct486_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(ct486_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("cs4031", cs4031_device, int_ack_r) MCFG_CS4031_ADD("cs4031", XTAL_25MHz, "maincpu", "isa", "bios", "keybc") // cpu connections diff --git a/src/mess/drivers/ec184x.c b/src/mess/drivers/ec184x.c index 7d0ac695463..420ff72e13e 100644 --- a/src/mess/drivers/ec184x.c +++ b/src/mess/drivers/ec184x.c @@ -227,6 +227,7 @@ static MACHINE_CONFIG_START( ec1840, ec184x_state ) MCFG_CPU_ADD("maincpu", I8088, 4096000) MCFG_CPU_PROGRAM_MAP(ec1840_map) MCFG_CPU_IO_MAP(ec1840_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5150_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(ec1840) @@ -250,6 +251,7 @@ static MACHINE_CONFIG_START( ec1841, ec184x_state ) MCFG_CPU_ADD("maincpu", I8086, 4096000) MCFG_CPU_PROGRAM_MAP(ec1841_map) MCFG_CPU_IO_MAP(ec1841_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) // MCFG_MACHINE_START_OVERRIDE(ec184x_state, ec184x) MCFG_MACHINE_RESET_OVERRIDE(ec184x_state, ec184x) @@ -278,6 +280,7 @@ static MACHINE_CONFIG_START( ec1847, ec184x_state ) MCFG_CPU_ADD("maincpu", I8088, 4772720) MCFG_CPU_PROGRAM_MAP(ec1847_map) MCFG_CPU_IO_MAP(ec1847_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(ec1847) diff --git a/src/mess/drivers/europc.c b/src/mess/drivers/europc.c index 83be79fa7a1..4d5d8db43d8 100644 --- a/src/mess/drivers/europc.c +++ b/src/mess/drivers/europc.c @@ -479,6 +479,7 @@ static MACHINE_CONFIG_START( europc, europc_pc_state ) MCFG_CPU_ADD("maincpu", I8088, 4772720*2) MCFG_CPU_PROGRAM_MAP(europc_map) MCFG_CPU_IO_MAP(europc_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_PCNOPPI_MOTHERBOARD_ADD("mb", "maincpu") diff --git a/src/mess/drivers/fmtowns.c b/src/mess/drivers/fmtowns.c index 49aae34c542..8185115575a 100644 --- a/src/mess/drivers/fmtowns.c +++ b/src/mess/drivers/fmtowns.c @@ -2052,11 +2052,6 @@ READ8_MEMBER(towns_state::towns_41ff_r) return 0x01; } -IRQ_CALLBACK_MEMBER(towns_state::towns_irq_callback) -{ - return m_pic_master->acknowledge(); -} - // YM3438 interrupt (IRQ 13) WRITE_LINE_MEMBER(towns_state::towns_fm_irq) { @@ -2089,12 +2084,6 @@ RF5C68_SAMPLE_END_CB_MEMBER(towns_state::towns_pcm_irq) } } -WRITE_LINE_MEMBER(towns_state::towns_pic_irq) -{ - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -// logerror("PIC#1: set IRQ line to %i\n",interrupt); -} - WRITE_LINE_MEMBER(towns_state::towns_pit_out0_changed) { m_pit_out0 = state; @@ -2705,7 +2694,7 @@ static MACHINE_CONFIG_FRAGMENT( towns_base ) MCFG_CPU_PROGRAM_MAP(towns_mem) MCFG_CPU_IO_MAP(towns_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", towns_state, towns_vsync_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(towns_state,towns_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) //MCFG_MACHINE_RESET_OVERRIDE(towns_state,towns) /* video hardware */ @@ -2746,7 +2735,7 @@ static MACHINE_CONFIG_FRAGMENT( towns_base ) MCFG_PIT8253_CLK1(307200) // RS-232 MCFG_PIT8253_CLK2(307200) // reserved - MCFG_PIC8259_ADD( "pic8259_master", WRITELINE(towns_state,towns_pic_irq), VCC, READ8(towns_state,get_slave_ack)) + MCFG_PIC8259_ADD( "pic8259_master", INPUTLINE("maincpu", 0), VCC, READ8(towns_state,get_slave_ack)) MCFG_PIC8259_ADD( "pic8259_slave", DEVWRITELINE("pic8259_master", pic8259_device, ir7_w), GND, NULL) @@ -2793,7 +2782,7 @@ static MACHINE_CONFIG_START( townsux, towns16_state ) MCFG_CPU_PROGRAM_MAP(ux_mem) MCFG_CPU_IO_MAP(towns16_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", towns_state, towns_vsync_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(towns_state,towns_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_RAM_MODIFY(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("2M") @@ -2808,7 +2797,7 @@ static MACHINE_CONFIG_DERIVED( townssj, towns ) MCFG_CPU_PROGRAM_MAP(towns_mem) MCFG_CPU_IO_MAP(towns_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", towns_state, towns_vsync_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(towns_state,towns_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_RAM_MODIFY(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("8M") @@ -2820,7 +2809,7 @@ static MACHINE_CONFIG_DERIVED( townshr, towns ) MCFG_CPU_PROGRAM_MAP(towns_mem) MCFG_CPU_IO_MAP(towns_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", towns_state, towns_vsync_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(towns_state,towns_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_RAM_MODIFY(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("4M") @@ -2834,7 +2823,7 @@ static MACHINE_CONFIG_START( marty, marty_state ) MCFG_CPU_PROGRAM_MAP(marty_mem) MCFG_CPU_IO_MAP(towns16_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", towns_state, towns_vsync_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(towns_state,towns_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_RAM_MODIFY(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("6M") diff --git a/src/mess/drivers/genpc.c b/src/mess/drivers/genpc.c index dc6c0a29cd0..9e977e32e58 100644 --- a/src/mess/drivers/genpc.c +++ b/src/mess/drivers/genpc.c @@ -73,7 +73,7 @@ static MACHINE_CONFIG_START( pcmda, genpc_state ) MCFG_CPU_ADD("maincpu", V20, 4772720) MCFG_CPU_PROGRAM_MAP(pc8_map) MCFG_CPU_IO_MAP(pc8_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb",ibm5160_mb_device,pc_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") @@ -98,7 +98,7 @@ static MACHINE_CONFIG_START( pcherc, genpc_state ) MCFG_CPU_ADD("maincpu", V20, 4772720) MCFG_CPU_PROGRAM_MAP(pc8_map) MCFG_CPU_IO_MAP(pc8_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb",ibm5160_mb_device,pc_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") @@ -123,7 +123,7 @@ static MACHINE_CONFIG_START( pccga, genpc_state ) MCFG_CPU_ADD("maincpu", I8086, 4772720) MCFG_CPU_PROGRAM_MAP(pc16_map) MCFG_CPU_IO_MAP(pc16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb",ibm5160_mb_device,pc_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(cga) @@ -149,7 +149,7 @@ static MACHINE_CONFIG_START( pcega, genpc_state ) MCFG_CPU_ADD("maincpu", I8086, 4772720) MCFG_CPU_PROGRAM_MAP(pc16_map) MCFG_CPU_IO_MAP(pc16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb",ibm5160_mb_device,pc_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(vga) @@ -175,7 +175,7 @@ static MACHINE_CONFIG_START( xtvga, genpc_state ) MCFG_CPU_ADD("maincpu", I8086, 4772720) MCFG_CPU_PROGRAM_MAP(pc16_map) MCFG_CPU_IO_MAP(pc16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb",ibm5160_mb_device,pc_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(vga) diff --git a/src/mess/drivers/ibmpc.c b/src/mess/drivers/ibmpc.c index 7b9235a918d..b476b6b34d6 100644 --- a/src/mess/drivers/ibmpc.c +++ b/src/mess/drivers/ibmpc.c @@ -303,6 +303,7 @@ static MACHINE_CONFIG_START( ibm5150, ibmpc_state ) MCFG_CPU_ADD("maincpu", I8088, XTAL_14_31818MHz/3) MCFG_CPU_PROGRAM_MAP(pc8_map) MCFG_CPU_IO_MAP(pc8_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5150_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(cga) @@ -337,6 +338,7 @@ static MACHINE_CONFIG_START( ibm5160, ibmpc_state ) MCFG_CPU_ADD("maincpu", I8088, XTAL_14_31818MHz/3) MCFG_CPU_PROGRAM_MAP(pc8_map) MCFG_CPU_IO_MAP(pc8_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(cga) diff --git a/src/mess/drivers/ibmpcjr.c b/src/mess/drivers/ibmpcjr.c index e804a143039..8bc4cee947f 100644 --- a/src/mess/drivers/ibmpcjr.c +++ b/src/mess/drivers/ibmpcjr.c @@ -57,8 +57,6 @@ public: DECLARE_WRITE8_MEMBER(pcjx_port_1ff_w); void pcjx_set_bank(int unk1, int unk2, int unk3); - IRQ_CALLBACK_MEMBER(pc_irq_callback) { return m_pic8259->acknowledge(); } - DECLARE_DEVICE_IMAGE_LOAD_MEMBER( pcjr_cartridge ); void pc_speaker_set_spkrdata(UINT8 data); @@ -611,7 +609,7 @@ static MACHINE_CONFIG_START( ibmpcjr, pcjr_state) MCFG_CPU_ADD("maincpu", I8088, 4900000) MCFG_CPU_PROGRAM_MAP(ibmpcjr_map) MCFG_CPU_IO_MAP(ibmpcjr_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pcjr_state,pc_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) /* On the PC Jr the input for clock 1 seems to be selectable @@ -699,7 +697,6 @@ static MACHINE_CONFIG_DERIVED( ibmpcjx, ibmpcjr ) MCFG_CPU_MODIFY("maincpu") MCFG_CPU_PROGRAM_MAP(ibmpcjx_map) MCFG_CPU_IO_MAP(ibmpcjx_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pcjr_state,pc_irq_callback) MCFG_DEVICE_REMOVE("fdc:0"); MCFG_FLOPPY_DRIVE_ADD("fdc:0", pcjr_floppies, "35dd", isa8_fdc_device::floppy_formats) diff --git a/src/mess/drivers/iq151.c b/src/mess/drivers/iq151.c index 43a35b7eb0b..62c77b75c87 100644 --- a/src/mess/drivers/iq151.c +++ b/src/mess/drivers/iq151.c @@ -84,7 +84,6 @@ public: DECLARE_READ8_MEMBER(ppi_portc_r); DECLARE_WRITE8_MEMBER(ppi_portc_w); DECLARE_WRITE8_MEMBER(boot_bank_w); - DECLARE_WRITE_LINE_MEMBER(pic_set_int_line); DECLARE_READ8_MEMBER(cartslot_r); DECLARE_WRITE8_MEMBER(cartslot_w); DECLARE_READ8_MEMBER(cartslot_io_r); @@ -100,7 +99,6 @@ public: INTERRUPT_GEN_MEMBER(iq151_vblank_interrupt); DECLARE_INPUT_CHANGED_MEMBER(iq151_break); TIMER_DEVICE_CALLBACK_MEMBER(cassette_timer); - IRQ_CALLBACK_MEMBER(iq151_irq_callback); }; READ8_MEMBER(iq151_state::keyboard_row_r) @@ -318,22 +316,12 @@ static INPUT_PORTS_START( iq151 ) INPUT_PORTS_END -WRITE_LINE_MEMBER( iq151_state::pic_set_int_line ) -{ - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - INTERRUPT_GEN_MEMBER(iq151_state::iq151_vblank_interrupt) { m_pic->ir6_w(m_vblank_irq_state & 1); m_vblank_irq_state ^= 1; } -IRQ_CALLBACK_MEMBER(iq151_state::iq151_irq_callback) -{ - return m_pic->acknowledge(); -} - TIMER_DEVICE_CALLBACK_MEMBER(iq151_state::cassette_timer) { m_cassette_clk ^= 1; @@ -403,7 +391,7 @@ static MACHINE_CONFIG_START( iq151, iq151_state ) MCFG_CPU_PROGRAM_MAP(iq151_mem) MCFG_CPU_IO_MAP(iq151_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", iq151_state, iq151_vblank_interrupt) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(iq151_state,iq151_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -421,7 +409,7 @@ static MACHINE_CONFIG_START( iq151, iq151_state ) MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - MCFG_PIC8259_ADD("pic8259", WRITELINE(iq151_state, pic_set_int_line), VCC, NULL) + MCFG_PIC8259_ADD("pic8259", INPUTLINE("maincpu", 0), VCC, NULL) MCFG_DEVICE_ADD("ppi8255", I8255, 0) MCFG_I8255_IN_PORTA_CB(READ8(iq151_state, keyboard_row_r)) diff --git a/src/mess/drivers/isbc.c b/src/mess/drivers/isbc.c index f23faec7cd1..31784f7bec2 100644 --- a/src/mess/drivers/isbc.c +++ b/src/mess/drivers/isbc.c @@ -55,7 +55,6 @@ public: DECLARE_WRITE_LINE_MEMBER(isbc_uart8274_irq); DECLARE_READ8_MEMBER(get_slave_ack); DECLARE_WRITE8_MEMBER(ppi_c_w); - IRQ_CALLBACK_MEMBER( irq_callback ) { return m_pic_0->inta_r(); } }; static ADDRESS_MAP_START(rpc86_mem, AS_PROGRAM, 16, isbc_state) @@ -161,7 +160,7 @@ WRITE_LINE_MEMBER( isbc_state::isbc86_tmr2_w ) READ8_MEMBER( isbc_state::get_slave_ack ) { if (offset == 7) - return m_pic_1->inta_r(); + return m_pic_1->acknowledge(); return 0x00; } @@ -222,7 +221,7 @@ static MACHINE_CONFIG_START( isbc86, isbc_state ) MCFG_CPU_ADD("maincpu", I8086, XTAL_5MHz) MCFG_CPU_PROGRAM_MAP(isbc86_mem) MCFG_CPU_IO_MAP(isbc_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(isbc_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_0", pic8259_device, inta_cb) MCFG_PIC8259_ADD("pic_0", INPUTLINE(":maincpu", 0), VCC, NULL) @@ -254,7 +253,7 @@ static MACHINE_CONFIG_START( rpc86, isbc_state ) MCFG_CPU_ADD("maincpu", I8086, XTAL_5MHz) MCFG_CPU_PROGRAM_MAP(rpc86_mem) MCFG_CPU_IO_MAP(rpc86_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(isbc_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_0", pic8259_device, inta_cb) MCFG_PIC8259_ADD("pic_0", INPUTLINE(":maincpu", 0), VCC, NULL) @@ -289,7 +288,7 @@ static MACHINE_CONFIG_START( isbc286, isbc_state ) MCFG_CPU_ADD("maincpu", I80286, XTAL_16MHz/2) MCFG_CPU_PROGRAM_MAP(isbc286_mem) MCFG_CPU_IO_MAP(isbc286_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(isbc_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_0", pic8259_device, inta_cb) MCFG_PIC8259_ADD("pic_0", INPUTLINE(":maincpu", 0), VCC, READ8(isbc_state, get_slave_ack)) MCFG_PIC8259_ADD("pic_1", DEVWRITELINE("pic_0", pic8259_device, ir7_w), GND, NULL) diff --git a/src/mess/drivers/iskr103x.c b/src/mess/drivers/iskr103x.c index 20c451e74b7..017b57cf5e3 100644 --- a/src/mess/drivers/iskr103x.c +++ b/src/mess/drivers/iskr103x.c @@ -71,6 +71,7 @@ static MACHINE_CONFIG_START( iskr1030m, iskr103x_state ) MCFG_CPU_ADD("maincpu", I8086, 4772720) MCFG_CPU_PROGRAM_MAP(iskr1031_map) MCFG_CPU_IO_MAP(iskr1031_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(iskr1030m) @@ -94,6 +95,7 @@ static MACHINE_CONFIG_START( iskr1031, iskr103x_state ) MCFG_CPU_ADD("maincpu", I8086, 4772720) MCFG_CPU_PROGRAM_MAP(iskr1031_map) MCFG_CPU_IO_MAP(iskr1031_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_IBM5160_MOTHERBOARD_ADD("mb","maincpu") MCFG_DEVICE_INPUT_DEFAULTS(iskr1031) diff --git a/src/mess/drivers/mbc55x.c b/src/mess/drivers/mbc55x.c index 2d96c47acaf..0d2c1ab3056 100644 --- a/src/mess/drivers/mbc55x.c +++ b/src/mess/drivers/mbc55x.c @@ -233,7 +233,7 @@ static MACHINE_CONFIG_START( mbc55x, mbc55x_state ) MCFG_CPU_ADD(MAINCPU_TAG, I8088, 3600000) MCFG_CPU_PROGRAM_MAP(mbc55x_mem) MCFG_CPU_IO_MAP(mbc55x_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(mbc55x_state,mbc55x_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(PIC8259_TAG, pic8259_device, inta_cb) /* video hardware */ MCFG_SCREEN_ADD(SCREEN_TAG, RASTER) diff --git a/src/mess/drivers/mc1502.c b/src/mess/drivers/mc1502.c index 7d98ddd502a..e0b01c6b3e6 100644 --- a/src/mess/drivers/mc1502.c +++ b/src/mess/drivers/mc1502.c @@ -176,11 +176,6 @@ WRITE_LINE_MEMBER(mc1502_state::mc1502_pit8253_out2_changed) m_cassette->output(state ? 1 : -1); } -IRQ_CALLBACK_MEMBER( mc1502_state::mc1502_irq_callback ) -{ - return m_pic8259->acknowledge(); -} - DRIVER_INIT_MEMBER( mc1502_state, mc1502 ) { address_space &program = m_maincpu->space(AS_PROGRAM); @@ -250,7 +245,7 @@ static MACHINE_CONFIG_START( mc1502, mc1502_state ) MCFG_CPU_ADD("maincpu", I8088, XTAL_16MHz/3) MCFG_CPU_PROGRAM_MAP(mc1502_map) MCFG_CPU_IO_MAP(mc1502_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(mc1502_state,mc1502_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) MCFG_MACHINE_START_OVERRIDE( mc1502_state, mc1502 ) MCFG_MACHINE_RESET_OVERRIDE( mc1502_state, mc1502 ) diff --git a/src/mess/drivers/multi16.c b/src/mess/drivers/multi16.c index 695b7078be1..d6cef937648 100644 --- a/src/mess/drivers/multi16.c +++ b/src/mess/drivers/multi16.c @@ -28,14 +28,12 @@ public: required_device<palette_device> m_palette; DECLARE_WRITE8_MEMBER(multi16_6845_address_w); DECLARE_WRITE8_MEMBER(multi16_6845_data_w); - DECLARE_WRITE_LINE_MEMBER(multi16_set_int_line); required_shared_ptr<UINT16> m_p_vram; UINT8 m_crtc_vreg[0x100],m_crtc_index; virtual void machine_start(); virtual void machine_reset(); virtual void video_start(); UINT32 screen_update_multi16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - IRQ_CALLBACK_MEMBER(multi16_irq_callback); }; @@ -119,17 +117,6 @@ ADDRESS_MAP_END static INPUT_PORTS_START( multi16 ) INPUT_PORTS_END -IRQ_CALLBACK_MEMBER(multi16_state::multi16_irq_callback) -{ - return machine().device<pic8259_device>("pic8259")->acknowledge(); -} - -WRITE_LINE_MEMBER( multi16_state::multi16_set_int_line ) -{ - //printf("%02x\n",interrupt); - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - void multi16_state::machine_start() { } @@ -160,7 +147,7 @@ static MACHINE_CONFIG_START( multi16, multi16_state ) MCFG_CPU_ADD("maincpu", I8086, 8000000) MCFG_CPU_PROGRAM_MAP(multi16_map) MCFG_CPU_IO_MAP(multi16_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(multi16_state,multi16_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -175,7 +162,7 @@ static MACHINE_CONFIG_START( multi16, multi16_state ) /* Devices */ MCFG_MC6845_ADD("crtc", H46505, "screen", 16000000/5, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */ - MCFG_PIC8259_ADD( "pic8259", WRITELINE(multi16_state, multi16_set_int_line), GND, NULL ) + MCFG_PIC8259_ADD( "pic8259", INPUTLINE("maincpu", 0), GND, NULL ) MACHINE_CONFIG_END /* ROM definition */ diff --git a/src/mess/drivers/paso1600.c b/src/mess/drivers/paso1600.c index 823e9b534f2..45da00356d1 100644 --- a/src/mess/drivers/paso1600.c +++ b/src/mess/drivers/paso1600.c @@ -286,18 +286,6 @@ static MC6845_INTERFACE( mc6845_intf ) NULL /* update address callback */ }; -IRQ_CALLBACK_MEMBER(paso1600_state::paso1600_irq_callback) -{ - return machine().device<pic8259_device>( "pic8259" )->acknowledge(); -} - -WRITE_LINE_MEMBER( paso1600_state::paso1600_set_int_line ) -{ - //printf("%02x\n",interrupt); - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - - void paso1600_state::machine_start() { } @@ -341,7 +329,7 @@ static MACHINE_CONFIG_START( paso1600, paso1600_state ) MCFG_CPU_ADD("maincpu", I8086, 16000000/2) MCFG_CPU_PROGRAM_MAP(paso1600_map) MCFG_CPU_IO_MAP(paso1600_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(paso1600_state,paso1600_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -358,7 +346,7 @@ static MACHINE_CONFIG_START( paso1600, paso1600_state ) /* Devices */ MCFG_MC6845_ADD("crtc", H46505, "screen", 16000000/4, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */ - MCFG_PIC8259_ADD( "pic8259", WRITELINE(paso1600_state, paso1600_set_int_line), GND, NULL ) + MCFG_PIC8259_ADD( "pic8259", INPUTLINE("maincpu", 0), GND, NULL ) MCFG_I8237_ADD("8237dma", 16000000/4, paso1600_dma8237_interface) MACHINE_CONFIG_END diff --git a/src/mess/drivers/pasogo.c b/src/mess/drivers/pasogo.c index d26e00da795..04c18f724e4 100644 --- a/src/mess/drivers/pasogo.c +++ b/src/mess/drivers/pasogo.c @@ -176,8 +176,6 @@ public: UINT32 screen_update_pasogo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(pasogo_interrupt); TIMER_DEVICE_CALLBACK_MEMBER(vg230_timer); - DECLARE_WRITE_LINE_MEMBER(pasogo_pic8259_set_int_line); - IRQ_CALLBACK_MEMBER(pasogo_irq_callback); void vg230_reset(); void vg230_init(); DECLARE_READ8_MEMBER( page_r ); @@ -672,11 +670,6 @@ INTERRUPT_GEN_MEMBER(pasogo_state::pasogo_interrupt) // m_maincpu->set_input_line(UPD7810_INTFE1, PULSE_LINE); } -IRQ_CALLBACK_MEMBER(pasogo_state::pasogo_irq_callback) -{ - return m_pic8259->acknowledge(); -} - void pasogo_state::machine_reset() { m_u73_q2 = 0; @@ -934,19 +927,13 @@ WRITE8_MEMBER( pasogo_state::ppi_portb_w ) } -WRITE_LINE_MEMBER(pasogo_state::pasogo_pic8259_set_int_line) -{ - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - - static MACHINE_CONFIG_START( pasogo, pasogo_state ) MCFG_CPU_ADD("maincpu", V30, XTAL_32_22MHz/2) MCFG_CPU_PROGRAM_MAP(pasogo_mem) MCFG_CPU_IO_MAP( pasogo_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", pasogo_state, pasogo_interrupt) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pasogo_state,pasogo_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) MCFG_DEVICE_ADD("pit8254", PIT8254, 0) MCFG_PIT8253_CLK0(4772720/4) /* heartbeat IRQ */ @@ -956,7 +943,7 @@ static MACHINE_CONFIG_START( pasogo, pasogo_state ) MCFG_PIT8253_CLK2(4772720/4) /* pio port c pin 4, and speaker polling enough */ MCFG_PIT8253_OUT2_HANDLER(WRITELINE(pasogo_state, pit8253_out2_changed)) - MCFG_PIC8259_ADD( "pic8259", WRITELINE(pasogo_state, pasogo_pic8259_set_int_line), VCC, NULL ) + MCFG_PIC8259_ADD( "pic8259", INPUTLINE("maincpu", 0), VCC, NULL ) MCFG_I8237_ADD( "dma8237", XTAL_14_31818MHz/3, dma8237_config ) diff --git a/src/mess/drivers/pc.c b/src/mess/drivers/pc.c index 3004e22d813..cf5d969604c 100644 --- a/src/mess/drivers/pc.c +++ b/src/mess/drivers/pc.c @@ -174,7 +174,8 @@ DEVICE_INPUT_DEFAULTS_END #define MCFG_CPU_PC(mem, port, type, clock) \ MCFG_CPU_ADD("maincpu", type, clock) \ MCFG_CPU_PROGRAM_MAP(mem##_map) \ - MCFG_CPU_IO_MAP(port##_io) + MCFG_CPU_IO_MAP(port##_io) \ + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) static MACHINE_CONFIG_START( pccga, pc_state ) /* basic machine hardware */ diff --git a/src/mess/drivers/pc100.c b/src/mess/drivers/pc100.c index 9130c00f17c..2b985577202 100644 --- a/src/mess/drivers/pc100.c +++ b/src/mess/drivers/pc100.c @@ -100,7 +100,6 @@ public: DECLARE_WRITE8_MEMBER(rtc_porta_w); DECLARE_READ8_MEMBER(rtc_portc_r); DECLARE_WRITE8_MEMBER(rtc_portc_w); - DECLARE_WRITE_LINE_MEMBER(pc100_set_int_line); UINT16 *m_kanji_rom; UINT16 *m_vram; UINT16 m_kanji_addr; @@ -124,7 +123,6 @@ public: TIMER_DEVICE_CALLBACK_MEMBER(pc100_100hz_irq); TIMER_DEVICE_CALLBACK_MEMBER(pc100_50hz_irq); TIMER_DEVICE_CALLBACK_MEMBER(pc100_10hz_irq); - IRQ_CALLBACK_MEMBER(pc100_irq_callback); required_device<cpu_device> m_maincpu; required_device<beep_device> m_beeper; @@ -410,17 +408,6 @@ WRITE8_MEMBER( pc100_state::crtc_bank_w ) m_bank_r = (data & 0x30) >> 4; } -IRQ_CALLBACK_MEMBER(pc100_state::pc100_irq_callback) -{ - return device.machine().device<pic8259_device>( "pic8259" )->acknowledge(); -} - -WRITE_LINE_MEMBER( pc100_state::pc100_set_int_line ) -{ - //printf("%02x\n",interrupt); - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - void pc100_state::machine_start() { m_kanji_rom = (UINT16 *)(*memregion("kanji")); @@ -487,7 +474,7 @@ static MACHINE_CONFIG_START( pc100, pc100_state ) MCFG_CPU_PROGRAM_MAP(pc100_map) MCFG_CPU_IO_MAP(pc100_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", pc100_state, pc100_vblank_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc100_state,pc100_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) MCFG_TIMER_DRIVER_ADD_PERIODIC("600hz", pc100_state, pc100_600hz_irq, attotime::from_hz(MASTER_CLOCK/600)) MCFG_TIMER_DRIVER_ADD_PERIODIC("100hz", pc100_state, pc100_100hz_irq, attotime::from_hz(MASTER_CLOCK/100)) @@ -504,7 +491,7 @@ static MACHINE_CONFIG_START( pc100, pc100_state ) MCFG_I8255_OUT_PORTB_CB(WRITE8(pc100_state, upper_mask_w)) MCFG_I8255_OUT_PORTC_CB(WRITE8(pc100_state, crtc_bank_w)) - MCFG_PIC8259_ADD( "pic8259", WRITELINE(pc100_state, pc100_set_int_line), GND, NULL ) + MCFG_PIC8259_ADD( "pic8259", INPUTLINE("maincpu", 0), GND, NULL ) MCFG_UPD765A_ADD("upd765", true, true) diff --git a/src/mess/drivers/pc1512.c b/src/mess/drivers/pc1512.c index a93cf1f1e7e..3812e30aead 100644 --- a/src/mess/drivers/pc1512.c +++ b/src/mess/drivers/pc1512.c @@ -972,16 +972,6 @@ static I8237_INTERFACE( dmac_intf ) //------------------------------------------------- -// pic8259_interface pic_intf -//------------------------------------------------- - -IRQ_CALLBACK_MEMBER(pc1512_state::pc1512_irq_callback) -{ - return m_pic->inta_r(); -} - - -//------------------------------------------------- // pit8253_config pit_intf //------------------------------------------------- @@ -1252,7 +1242,7 @@ static MACHINE_CONFIG_START( pc1512, pc1512_state ) MCFG_CPU_ADD(I8086_TAG, I8086, XTAL_24MHz/3) MCFG_CPU_PROGRAM_MAP(pc1512_mem) MCFG_CPU_IO_MAP(pc1512_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc1512_state,pc1512_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(I8259A2_TAG, pic8259_device, inta_cb) // video MCFG_FRAGMENT_ADD(pc1512_video) @@ -1356,7 +1346,7 @@ static MACHINE_CONFIG_START( pc1640, pc1640_state ) MCFG_CPU_ADD(I8086_TAG, I8086, XTAL_24MHz/3) MCFG_CPU_PROGRAM_MAP(pc1640_mem) MCFG_CPU_IO_MAP(pc1640_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc1512_state,pc1512_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(I8259A2_TAG, pic8259_device, inta_cb) // sound MCFG_SPEAKER_STANDARD_MONO("mono") diff --git a/src/mess/drivers/pc88va.c b/src/mess/drivers/pc88va.c index 80e4634b456..5be011c774f 100644 --- a/src/mess/drivers/pc88va.c +++ b/src/mess/drivers/pc88va.c @@ -145,7 +145,6 @@ public: DECLARE_WRITE8_MEMBER(r232_ctrl_porta_w); DECLARE_WRITE8_MEMBER(r232_ctrl_portb_w); DECLARE_WRITE8_MEMBER(r232_ctrl_portc_w); - DECLARE_WRITE_LINE_MEMBER(pc88va_pic_irq); DECLARE_READ8_MEMBER(get_slave_ack); DECLARE_WRITE_LINE_MEMBER(pc88va_pit_out0_changed); // DECLARE_WRITE_LINE_MEMBER(pc88va_upd765_interrupt); @@ -166,7 +165,6 @@ public: DECLARE_WRITE_LINE_MEMBER(fdc_drq); DECLARE_FLOPPY_FORMATS( floppy_formats ); void pc88va_fdc_update_ready(floppy_image_device *, int); - IRQ_CALLBACK_MEMBER(pc88va_irq_callback); void draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect); UINT32 calc_kanji_rom_addr(UINT8 jis1,UINT8 jis2,int x,int y); void draw_text(bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -1632,17 +1630,6 @@ WRITE8_MEMBER(pc88va_state::r232_ctrl_portc_w) // ... } -IRQ_CALLBACK_MEMBER(pc88va_state::pc88va_irq_callback) -{ - return machine().device<pic8259_device>( "pic8259_master" )->acknowledge(); -} - -WRITE_LINE_MEMBER(pc88va_state::pc88va_pic_irq) -{ - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -// logerror("PIC#1: set IRQ line to %i\n",interrupt); -} - READ8_MEMBER(pc88va_state::get_slave_ack) { if (offset==7) { // IRQ = 7 @@ -1803,7 +1790,7 @@ static MACHINE_CONFIG_START( pc88va, pc88va_state ) MCFG_CPU_PROGRAM_MAP(pc88va_map) MCFG_CPU_IO_MAP(pc88va_io_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", pc88va_state, pc88va_vrtc_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc88va_state,pc88va_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) #if TEST_SUBFDC MCFG_CPU_ADD("fdccpu", Z80, 8000000) /* 8 MHz */ @@ -1843,7 +1830,7 @@ static MACHINE_CONFIG_START( pc88va, pc88va_state ) MCFG_I8255_IN_PORTC_CB(READ8(pc88va_state, fdc_8255_c_r)) MCFG_I8255_OUT_PORTC_CB(WRITE8(pc88va_state, fdc_8255_c_w)) - MCFG_PIC8259_ADD( "pic8259_master", WRITELINE(pc88va_state, pc88va_pic_irq), VCC, READ8(pc88va_state,get_slave_ack) ) + MCFG_PIC8259_ADD( "pic8259_master", INPUTLINE("maincpu", 0), VCC, READ8(pc88va_state,get_slave_ack) ) MCFG_PIC8259_ADD( "pic8259_slave", DEVWRITELINE("pic8259_master", pic8259_device, ir7_w), GND, NULL ) diff --git a/src/mess/drivers/pc9801.c b/src/mess/drivers/pc9801.c index 32e67ddbff8..c0c380b6e5f 100644 --- a/src/mess/drivers/pc9801.c +++ b/src/mess/drivers/pc9801.c @@ -752,7 +752,6 @@ public: inline UINT32 m_calc_grcg_addr(int i,UINT32 offset); DECLARE_DRIVER_INIT(pc9801_kanji); - IRQ_CALLBACK_MEMBER(irq_callback); inline void set_dma_channel(int channel, int state); }; @@ -3327,11 +3326,6 @@ PALETTE_INIT_MEMBER(pc9801_state,pc9801) palette.set_pen_color(i, pal1bit(0), pal1bit(0), pal1bit(0)); } -IRQ_CALLBACK_MEMBER(pc9801_state::irq_callback) -{ - return m_pic1->acknowledge(); -} - MACHINE_START_MEMBER(pc9801_state,pc9801_common) { m_rtc->cs_w(1); @@ -3582,7 +3576,7 @@ static MACHINE_CONFIG_START( pc9801, pc9801_state ) MCFG_CPU_PROGRAM_MAP(pc9801_map) MCFG_CPU_IO_MAP(pc9801_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc9801_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801f) MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801f) @@ -3683,7 +3677,7 @@ static MACHINE_CONFIG_START( pc9801rs, pc9801_state ) MCFG_CPU_PROGRAM_MAP(pc9801rs_map) MCFG_CPU_IO_MAP(pc9801rs_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc9801_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801rs) MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9801rs) @@ -3772,7 +3766,7 @@ static MACHINE_CONFIG_DERIVED( pc9801ux, pc9801rs ) MCFG_CPU_IO_MAP(pc9801ux_io) MCFG_80286_A20(pc9801_state, pc9801_286_a20) MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc9801_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) // MCFG_I8237_REPLACE("i8237", 10000000, pc9801rs_dmac_intf) // unknown clock MACHINE_CONFIG_END @@ -3781,7 +3775,7 @@ static MACHINE_CONFIG_DERIVED( pc9801bx2, pc9801rs ) MCFG_CPU_PROGRAM_MAP(pc9801rs_map) MCFG_CPU_IO_MAP(pc9801bx2_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc9801_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9801bx2) MACHINE_CONFIG_END @@ -3791,7 +3785,7 @@ static MACHINE_CONFIG_START( pc9821, pc9801_state ) MCFG_CPU_PROGRAM_MAP(pc9821_map) MCFG_CPU_IO_MAP(pc9821_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc9801_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MCFG_MACHINE_START_OVERRIDE(pc9801_state,pc9821) MCFG_MACHINE_RESET_OVERRIDE(pc9801_state,pc9821) @@ -3879,7 +3873,7 @@ static MACHINE_CONFIG_DERIVED( pc9821v20, pc9821 ) MCFG_CPU_PROGRAM_MAP(pc9821_map) MCFG_CPU_IO_MAP(pc9821_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", pc9801_state, pc9801_vrtc_irq) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pc9801_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) MACHINE_CONFIG_END /* took from "raw" memory dump, uncomment ROM_FILL if you want to play with it */ diff --git a/src/mess/drivers/pk8020.c b/src/mess/drivers/pk8020.c index c930ca23b71..dc9174a456a 100644 --- a/src/mess/drivers/pk8020.c +++ b/src/mess/drivers/pk8020.c @@ -205,7 +205,7 @@ static MACHINE_CONFIG_START( pk8020, pk8020_state ) MCFG_CPU_PROGRAM_MAP(pk8020_mem) MCFG_CPU_IO_MAP(pk8020_io) MCFG_CPU_VBLANK_INT_DRIVER("screen", pk8020_state, pk8020_interrupt) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(pk8020_state,pk8020_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -239,7 +239,7 @@ static MACHINE_CONFIG_START( pk8020, pk8020_state ) MCFG_PIT8253_CLK2((XTAL_20MHz / 8) / 164) MCFG_PIT8253_OUT2_HANDLER(DEVWRITELINE("pic8259", pic8259_device, ir5_w)) - MCFG_PIC8259_ADD("pic8259", WRITELINE(pk8020_state,pk8020_pic_set_int_line), VCC, NULL) + MCFG_PIC8259_ADD("pic8259", INPUTLINE("maincpu", 0), VCC, NULL) MCFG_DEVICE_ADD("rs232", I8251, 0) MCFG_DEVICE_ADD("lan", I8251, 0) diff --git a/src/mess/drivers/poisk1.c b/src/mess/drivers/poisk1.c index 1cd966165c3..5cce8dbea38 100644 --- a/src/mess/drivers/poisk1.c +++ b/src/mess/drivers/poisk1.c @@ -178,11 +178,6 @@ static const cassette_interface p1_cassette_interface = NULL }; -IRQ_CALLBACK_MEMBER( p1_state::p1_irq_callback ) -{ - return m_pic8259->acknowledge(); -} - DRIVER_INIT_MEMBER( p1_state, poisk1 ) { address_space &program = m_maincpu->space(AS_PROGRAM); @@ -237,7 +232,7 @@ static MACHINE_CONFIG_START( poisk1, p1_state ) MCFG_CPU_ADD("maincpu", I8088, 5000000) MCFG_CPU_PROGRAM_MAP(poisk1_map) MCFG_CPU_IO_MAP(poisk1_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(p1_state,p1_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) MCFG_MACHINE_START_OVERRIDE( p1_state, poisk1 ) MCFG_MACHINE_RESET_OVERRIDE( p1_state, poisk1 ) diff --git a/src/mess/drivers/qx10.c b/src/mess/drivers/qx10.c index bab325308de..19ff70cb574 100644 --- a/src/mess/drivers/qx10.c +++ b/src/mess/drivers/qx10.c @@ -144,7 +144,6 @@ public: DECLARE_PALETTE_INIT(qx10); DECLARE_INPUT_CHANGED_MEMBER(key_stroke); DECLARE_WRITE_LINE_MEMBER(dma_hrq_changed); - IRQ_CALLBACK_MEMBER(irq_callback); required_device<cpu_device> m_maincpu; required_device<ram_device> m_ram; required_device<palette_device> m_palette; @@ -496,7 +495,7 @@ WRITE_LINE_MEMBER(qx10_state::keyboard_clk) READ8_MEMBER( qx10_state::get_slave_ack ) { if (offset==7) { // IRQ = 7 - return m_pic_s->inta_r(); + return m_pic_s->acknowledge(); } return 0x00; } @@ -515,11 +514,6 @@ READ8_MEMBER( qx10_state::get_slave_ack ) */ -IRQ_CALLBACK_MEMBER(qx10_state::irq_callback) -{ - return m_pic_m->acknowledge(); -} - #if 0 READ8_MEMBER( qx10_state::upd7201_r ) { @@ -787,7 +781,7 @@ static MACHINE_CONFIG_START( qx10, qx10_state ) MCFG_CPU_ADD("maincpu",Z80, MAIN_CLK / 4) MCFG_CPU_PROGRAM_MAP(qx10_mem) MCFG_CPU_IO_MAP(qx10_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(qx10_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mess/drivers/tandy1t.c b/src/mess/drivers/tandy1t.c index 399f8705b8c..367fa00a7ea 100644 --- a/src/mess/drivers/tandy1t.c +++ b/src/mess/drivers/tandy1t.c @@ -582,6 +582,7 @@ static MACHINE_CONFIG_START( t1000hx, tandy1000_state ) MCFG_CPU_ADD("maincpu", I8088, 8000000) MCFG_CPU_PROGRAM_MAP(tandy1000_map) MCFG_CPU_IO_MAP(tandy1000_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD(tandy1000_common) @@ -603,6 +604,7 @@ static MACHINE_CONFIG_START( t1000_16, tandy1000_state ) MCFG_CPU_ADD("maincpu", I8086, XTAL_28_63636MHz / 3) MCFG_CPU_PROGRAM_MAP(tandy1000_16_map) MCFG_CPU_IO_MAP(tandy1000_16_bank_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD(tandy1000_common) @@ -624,6 +626,7 @@ static MACHINE_CONFIG_START( t1000_286, tandy1000_state ) MCFG_CPU_ADD("maincpu", I80286, XTAL_28_63636MHz / 2) MCFG_CPU_PROGRAM_MAP(tandy1000_286_map) MCFG_CPU_IO_MAP(tandy1000_16_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD(tandy1000_common) diff --git a/src/mess/drivers/tandy2k.c b/src/mess/drivers/tandy2k.c index 67a13f06074..c66b3dd5742 100644 --- a/src/mess/drivers/tandy2k.c +++ b/src/mess/drivers/tandy2k.c @@ -712,7 +712,7 @@ WRITE_LINE_MEMBER( tandy2k_state::kbddat_w ) READ8_MEMBER( tandy2k_state::irq_callback ) { - return (offset ? m_pic1 : m_pic0)->inta_r(); + return (offset ? m_pic1 : m_pic0)->acknowledge(); } // Machine Initialization diff --git a/src/mess/drivers/trs80m2.c b/src/mess/drivers/trs80m2.c index ae0d73925a0..2e9a6d199a4 100644 --- a/src/mess/drivers/trs80m2.c +++ b/src/mess/drivers/trs80m2.c @@ -712,18 +712,6 @@ static const z80_daisy_config trs80m2_daisy_chain[] = { NULL } }; - -//------------------------------------------------- -// pic8259_interface pic_intf -//------------------------------------------------- - -IRQ_CALLBACK_MEMBER(trs80m16_state::trs80m16_irq_callback) -{ - return m_pic->inta_r(); -} - - - //************************************************************************** // MACHINE INITIALIZATION //************************************************************************** @@ -856,7 +844,7 @@ static MACHINE_CONFIG_START( trs80m16, trs80m16_state ) MCFG_CPU_CONFIG(trs80m2_daisy_chain) MCFG_CPU_PROGRAM_MAP(z80_mem) MCFG_CPU_IO_MAP(m16_z80_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(trs80m16_state,trs80m16_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(AM9519A_TAG, pic8259_device, inta_cb) MCFG_CPU_ADD(M68000_TAG, M68000, XTAL_24MHz/4) MCFG_CPU_PROGRAM_MAP(m68000_mem) diff --git a/src/mess/drivers/tsispch.c b/src/mess/drivers/tsispch.c index 8ee2229e2af..50e1e1d2e98 100644 --- a/src/mess/drivers/tsispch.c +++ b/src/mess/drivers/tsispch.c @@ -163,19 +163,6 @@ WRITE8_MEMBER( tsispch_state::i8251_rxd ) } /***************************************************************************** - PIC 8259 stuff -*****************************************************************************/ -WRITE_LINE_MEMBER(tsispch_state::pic8259_set_int_line) -{ - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - -IRQ_CALLBACK_MEMBER(tsispch_state::irq_callback) -{ - return machine().device<pic8259_device>("pic8259")->acknowledge(); -} - -/***************************************************************************** LED/dipswitch stuff *****************************************************************************/ READ8_MEMBER( tsispch_state::dsw_r ) @@ -397,7 +384,7 @@ static MACHINE_CONFIG_START( prose2k, tsispch_state ) MCFG_CPU_ADD("maincpu", I8086, 8000000) /* VERIFIED clock, unknown divider */ MCFG_CPU_PROGRAM_MAP(i8086_mem) MCFG_CPU_IO_MAP(i8086_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(tsispch_state,irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) /* TODO: the UPD7720 has a 10KHz clock to its INT pin */ /* TODO: the UPD7720 has a 2MHz clock to its SCK pin */ @@ -407,7 +394,7 @@ static MACHINE_CONFIG_START( prose2k, tsispch_state ) MCFG_CPU_DATA_MAP(dsp_data_map) /* PIC 8259 */ - MCFG_PIC8259_ADD("pic8259", WRITELINE(tsispch_state,pic8259_set_int_line), VCC, NULL) + MCFG_PIC8259_ADD("pic8259", INPUTLINE("maincpu", 0), VCC, NULL) /* uarts */ MCFG_DEVICE_ADD("i8251a_u15", I8251, 0) diff --git a/src/mess/drivers/victor9k.c b/src/mess/drivers/victor9k.c index 91408dff270..96ce7d6fcf8 100644 --- a/src/mess/drivers/victor9k.c +++ b/src/mess/drivers/victor9k.c @@ -348,12 +348,6 @@ WRITE_LINE_MEMBER(victor9k_state::mux_serial_a_w) */ -IRQ_CALLBACK_MEMBER( victor9k_state::victor9k_irq_callback ) -{ - return m_pic->inta_r(); -} - - //------------------------------------------------- // UPD7201_INTERFACE( mpsc_intf ) //------------------------------------------------- @@ -925,7 +919,7 @@ static MACHINE_CONFIG_START( victor9k, victor9k_state ) // basic machine hardware MCFG_CPU_ADD(I8088_TAG, I8088, XTAL_30MHz/6) MCFG_CPU_PROGRAM_MAP(victor9k_mem) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(victor9k_state,victor9k_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(I8259A_TAG, pic8259_device, inta_cb) MCFG_CPU_ADD(I8048_TAG, I8048, XTAL_30MHz/6) MCFG_CPU_IO_MAP(floppy_io) diff --git a/src/mess/drivers/wangpc.c b/src/mess/drivers/wangpc.c index ab07b55ca25..db8a689c242 100644 --- a/src/mess/drivers/wangpc.c +++ b/src/mess/drivers/wangpc.c @@ -746,12 +746,6 @@ void wangpc_state::check_level2_interrupts() m_pic->ir2_w(state); } -IRQ_CALLBACK_MEMBER( wangpc_state::wangpc_irq_callback ) -{ - return m_pic->inta_r(); -} - - //------------------------------------------------- // I8255A INTERFACE //------------------------------------------------- @@ -1101,7 +1095,7 @@ static MACHINE_CONFIG_START( wangpc, wangpc_state ) MCFG_CPU_ADD(I8086_TAG, I8086, 8000000) MCFG_CPU_PROGRAM_MAP(wangpc_mem) MCFG_CPU_IO_MAP(wangpc_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(wangpc_state,wangpc_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE(I8259A_TAG, pic8259_device, inta_cb) //MCFG_QUANTUM_PERFECT_CPU(I8086_TAG) // devices diff --git a/src/mess/drivers/z100.c b/src/mess/drivers/z100.c index 9bce3a86811..b146d33e2c2 100644 --- a/src/mess/drivers/z100.c +++ b/src/mess/drivers/z100.c @@ -184,7 +184,6 @@ public: DECLARE_WRITE8_MEMBER(z100_6845_data_w); DECLARE_READ8_MEMBER(z207_fdc_r); DECLARE_WRITE8_MEMBER(z207_fdc_w); - DECLARE_WRITE_LINE_MEMBER(z100_pic_irq); DECLARE_READ8_MEMBER(get_slave_ack); DECLARE_WRITE8_MEMBER(video_pia_A_w); DECLARE_WRITE8_MEMBER(video_pia_B_w); @@ -208,7 +207,6 @@ public: virtual void video_start(); UINT32 screen_update_z100(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); DECLARE_INPUT_CHANGED_MEMBER(key_stroke); - IRQ_CALLBACK_MEMBER(z100_irq_callback); }; #define mc6845_h_char_total (m_crtc_vreg[0]) @@ -597,21 +595,10 @@ INPUT_PORTS_START( z100 ) PORT_CONFSETTING( 0x01, "Color" ) INPUT_PORTS_END -IRQ_CALLBACK_MEMBER(z100_state::z100_irq_callback) -{ - return m_picm->inta_r(); -} - -WRITE_LINE_MEMBER( z100_state::z100_pic_irq ) -{ - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -// logerror("PIC#1: set IRQ line to %i\n",interrupt); -} - READ8_MEMBER( z100_state::get_slave_ack ) { if (offset==7) { // IRQ = 7 - return m_pics->inta_r(); + return m_pics->acknowledge(); } return 0; } @@ -726,7 +713,7 @@ static MACHINE_CONFIG_START( z100, z100_state ) MCFG_CPU_ADD("maincpu",I8088, XTAL_14_31818MHz/3) MCFG_CPU_PROGRAM_MAP(z100_mem) MCFG_CPU_IO_MAP(z100_io) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(z100_state,z100_irq_callback) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -742,7 +729,7 @@ static MACHINE_CONFIG_START( z100, z100_state ) /* Devices */ MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL_14_31818MHz/8, mc6845_intf) /* unknown clock, hand tuned to get ~50/~60 fps */ - MCFG_PIC8259_ADD( "pic8259_master", WRITELINE(z100_state, z100_pic_irq), VCC, READ8(z100_state, get_slave_ack) ) + MCFG_PIC8259_ADD( "pic8259_master", INPUTLINE("maincpu", 0), VCC, READ8(z100_state, get_slave_ack) ) MCFG_PIC8259_ADD( "pic8259_slave", DEVWRITELINE("pic8259_master", pic8259_device, ir3_w), GND, NULL ) MCFG_DEVICE_ADD("pia0", PIA6821, 0) diff --git a/src/mess/includes/apricotp.h b/src/mess/includes/apricotp.h index 7a8dceae0da..bb7f4d82dcb 100644 --- a/src/mess/includes/apricotp.h +++ b/src/mess/includes/apricotp.h @@ -109,7 +109,6 @@ public: // video state optional_shared_ptr<UINT16> m_video_ram; UINT8 m_video; - IRQ_CALLBACK_MEMBER(fp_irq_callback); int m_centronics_busy; int m_centronics_select; diff --git a/src/mess/includes/at.h b/src/mess/includes/at.h index 81b58becb4a..dc478d86114 100644 --- a/src/mess/includes/at.h +++ b/src/mess/includes/at.h @@ -157,7 +157,6 @@ public: DECLARE_MACHINE_START(at); DECLARE_MACHINE_RESET(at); void pc_set_dma_channel(int channel, int state); - IRQ_CALLBACK_MEMBER(at_irq_callback); void init_at_common(); UINT32 at_286_a20(bool state); }; diff --git a/src/mess/includes/b2m.h b/src/mess/includes/b2m.h index dd173f52a7e..4a4518bb852 100644 --- a/src/mess/includes/b2m.h +++ b/src/mess/includes/b2m.h @@ -70,10 +70,8 @@ public: DECLARE_READ8_MEMBER(b2m_romdisk_porta_r); DECLARE_WRITE8_MEMBER(b2m_romdisk_portb_w); DECLARE_WRITE8_MEMBER(b2m_romdisk_portc_w); - DECLARE_WRITE_LINE_MEMBER(b2m_pic_set_int_line); DECLARE_WRITE_LINE_MEMBER(b2m_fdc_drq); DECLARE_FLOPPY_FORMATS( b2m_floppy_formats ); - IRQ_CALLBACK_MEMBER(b2m_irq_callback); void b2m_postload(); void b2m_set_bank(int bank); }; diff --git a/src/mess/includes/cbm2.h b/src/mess/includes/cbm2.h index b336e6bfe59..25b2a411eb4 100644 --- a/src/mess/includes/cbm2.h +++ b/src/mess/includes/cbm2.h @@ -214,8 +214,6 @@ public: DECLARE_WRITE_LINE_MEMBER( user_irq_w ); - IRQ_CALLBACK_MEMBER( pic_irq_callback ); - DECLARE_QUICKLOAD_LOAD_MEMBER( cbmb ); // memory state int m_dramon; diff --git a/src/mess/includes/fmtowns.h b/src/mess/includes/fmtowns.h index 804c4cef5dd..6fe6d8892f7 100644 --- a/src/mess/includes/fmtowns.h +++ b/src/mess/includes/fmtowns.h @@ -330,11 +330,9 @@ public: TIMER_CALLBACK_MEMBER(towns_vblank_end); DECLARE_WRITE_LINE_MEMBER(towns_scsi_irq); DECLARE_WRITE_LINE_MEMBER(towns_scsi_drq); - DECLARE_WRITE_LINE_MEMBER(towns_pic_irq); DECLARE_WRITE_LINE_MEMBER(towns_pit_out0_changed); DECLARE_WRITE_LINE_MEMBER(towns_pit_out1_changed); DECLARE_READ8_MEMBER(get_slave_ack); - IRQ_CALLBACK_MEMBER(towns_irq_callback); DECLARE_WRITE_LINE_MEMBER(towns_fm_irq); DECLARE_FLOPPY_FORMATS(floppy_formats); void towns_crtc_refresh_mode(); diff --git a/src/mess/includes/genpc.h b/src/mess/includes/genpc.h index f71c3edca5b..4ec4258aeaa 100644 --- a/src/mess/includes/genpc.h +++ b/src/mess/includes/genpc.h @@ -73,8 +73,6 @@ public: UINT8 m_ppi_shift_register; UINT8 m_ppi_shift_enable; - IRQ_CALLBACK_MEMBER(pc_irq_callback); - // interface to the keyboard virtual DECLARE_WRITE_LINE_MEMBER( keyboard_clock_w ); DECLARE_WRITE_LINE_MEMBER( keyboard_data_w ); diff --git a/src/mess/includes/mbc55x.h b/src/mess/includes/mbc55x.h index 9f92c11d0f7..95d022fd77b 100644 --- a/src/mess/includes/mbc55x.h +++ b/src/mess/includes/mbc55x.h @@ -161,7 +161,6 @@ public: DECLARE_PALETTE_INIT(mbc55x); void screen_eof_mbc55x(screen_device &screen, bool state); TIMER_CALLBACK_MEMBER(keyscan_callback); - IRQ_CALLBACK_MEMBER(mbc55x_irq_callback); void keyboard_reset(); void scan_keyboard(); void set_ram_size(); diff --git a/src/mess/includes/mc1502.h b/src/mess/includes/mc1502.h index 1576dbc313f..d8bc6978a2f 100644 --- a/src/mess/includes/mc1502.h +++ b/src/mess/includes/mc1502.h @@ -51,7 +51,6 @@ public: DECLARE_MACHINE_START(mc1502); DECLARE_MACHINE_RESET(mc1502); - IRQ_CALLBACK_MEMBER(mc1502_irq_callback); TIMER_CALLBACK_MEMBER(keyb_signal_callback); struct { diff --git a/src/mess/includes/pc1512.h b/src/mess/includes/pc1512.h index 8c0888a6ea4..97eb96946f8 100644 --- a/src/mess/includes/pc1512.h +++ b/src/mess/includes/pc1512.h @@ -164,7 +164,6 @@ public: DECLARE_INPUT_CHANGED_MEMBER( mouse_x_changed ); DECLARE_INPUT_CHANGED_MEMBER( mouse_y_changed ); DECLARE_FLOPPY_FORMATS( floppy_formats ); - IRQ_CALLBACK_MEMBER(pc1512_irq_callback); DECLARE_WRITE_LINE_MEMBER( fdc_int_w ); DECLARE_WRITE_LINE_MEMBER( fdc_drq_w ); DECLARE_WRITE_LINE_MEMBER(write_centronics_ack); diff --git a/src/mess/includes/poisk1.h b/src/mess/includes/poisk1.h index 6b4f6c8798d..33632dc7d89 100644 --- a/src/mess/includes/poisk1.h +++ b/src/mess/includes/poisk1.h @@ -49,8 +49,6 @@ public: DECLARE_MACHINE_START(poisk1); DECLARE_MACHINE_RESET(poisk1); - IRQ_CALLBACK_MEMBER(p1_irq_callback); - DECLARE_PALETTE_INIT(p1); virtual void video_start(); UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); diff --git a/src/mess/includes/trs80m2.h b/src/mess/includes/trs80m2.h index 79b91140f60..c588a85b8ae 100644 --- a/src/mess/includes/trs80m2.h +++ b/src/mess/includes/trs80m2.h @@ -158,8 +158,6 @@ public: DECLARE_WRITE8_MEMBER( ual_w ); DECLARE_WRITE8_MEMBER( tcl_w ); - IRQ_CALLBACK_MEMBER(trs80m16_irq_callback); - UINT16 m_ual; UINT8 m_limit[2]; UINT8 m_offset[2]; diff --git a/src/mess/includes/tsispch.h b/src/mess/includes/tsispch.h index 90c68e27ebf..3d9812ba22b 100644 --- a/src/mess/includes/tsispch.h +++ b/src/mess/includes/tsispch.h @@ -51,8 +51,6 @@ public: DECLARE_WRITE_LINE_MEMBER(i8251_rxrdy_int); DECLARE_WRITE_LINE_MEMBER(i8251_txempty_int); DECLARE_WRITE_LINE_MEMBER(i8251_txrdy_int); - DECLARE_WRITE_LINE_MEMBER(pic8259_set_int_line); - IRQ_CALLBACK_MEMBER(irq_callback); }; diff --git a/src/mess/includes/victor9k.h b/src/mess/includes/victor9k.h index 8b28b5bf9ff..d2932ec3745 100644 --- a/src/mess/includes/victor9k.h +++ b/src/mess/includes/victor9k.h @@ -213,7 +213,6 @@ public: DECLARE_WRITE_LINE_MEMBER(mux_serial_b_w); DECLARE_WRITE_LINE_MEMBER(mux_serial_a_w); - IRQ_CALLBACK_MEMBER(victor9k_irq_callback); required_device<palette_device> m_palette; }; diff --git a/src/mess/includes/wangpc.h b/src/mess/includes/wangpc.h index aa8d7ae84ac..9a796d9524d 100644 --- a/src/mess/includes/wangpc.h +++ b/src/mess/includes/wangpc.h @@ -166,8 +166,6 @@ public: DECLARE_FLOPPY_FORMATS( floppy_formats ); - IRQ_CALLBACK_MEMBER(wangpc_irq_callback); - DECLARE_WRITE_LINE_MEMBER( fdc_irq ); DECLARE_WRITE_LINE_MEMBER( fdc_drq ); diff --git a/src/mess/machine/apollo.c b/src/mess/machine/apollo.c index d2b830c0b2b..99d78e9aa18 100644 --- a/src/mess/machine/apollo.c +++ b/src/mess/machine/apollo.c @@ -621,7 +621,7 @@ READ8_MEMBER( apollo_state::apollo_pic8259_get_slave_ack ) { MLOG1(("apollo_pic8259_get_slave_ack: offset=%x", offset)); - return offset == 3 ? m_pic8259_slave->inta_r() : 0; + return offset == 3 ? m_pic8259_slave->acknowledge() : 0; } WRITE_LINE_MEMBER( apollo_state::apollo_pic8259_master_set_int_line ) { diff --git a/src/mess/machine/at.c b/src/mess/machine/at.c index 82dc1b35190..4a6fcaa8265 100644 --- a/src/mess/machine/at.c +++ b/src/mess/machine/at.c @@ -16,7 +16,7 @@ READ8_MEMBER( at_state::get_slave_ack ) { if (offset==2) // IRQ = 2 - return m_pic8259_slave->inta_r(); + return m_pic8259_slave->acknowledge(); return 0x00; } @@ -316,11 +316,6 @@ DRIVER_INIT_MEMBER(at586_state,at586) { } -IRQ_CALLBACK_MEMBER(at_state::at_irq_callback) -{ - return m_pic8259_master->inta_r(); -} - MACHINE_START_MEMBER(at_state,at) { } diff --git a/src/mess/machine/b2m.c b/src/mess/machine/b2m.c index 313aaacdf7a..252bcec9c9a 100644 --- a/src/mess/machine/b2m.c +++ b/src/mess/machine/b2m.c @@ -222,11 +222,6 @@ WRITE8_MEMBER(b2m_state::b2m_romdisk_portc_w) m_b2m_romdisk_msb = data & 0x7f; } -WRITE_LINE_MEMBER(b2m_state::b2m_pic_set_int_line) -{ - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - /* Driver initialization */ DRIVER_INIT_MEMBER(b2m_state,b2m) { @@ -291,11 +286,6 @@ void b2m_state::machine_start() machine().save().register_postload(save_prepost_delegate(FUNC(b2m_state::b2m_postload), this)); } -IRQ_CALLBACK_MEMBER(b2m_state::b2m_irq_callback) -{ - return m_pic->acknowledge(); -} - INTERRUPT_GEN_MEMBER(b2m_state::b2m_vblank_interrupt) { m_vblank_state++; diff --git a/src/mess/machine/genpc.c b/src/mess/machine/genpc.c index cfc50f8fa64..02a2c15dced 100644 --- a/src/mess/machine/genpc.c +++ b/src/mess/machine/genpc.c @@ -574,11 +574,6 @@ void ibm5160_mb_device::device_start() membank( "bank10" )->set_base( m_ram->pointer() ); } -IRQ_CALLBACK_MEMBER(ibm5160_mb_device::pc_irq_callback) -{ - return m_pic8259->inta_r(); -} - //------------------------------------------------- // device_reset - device-specific reset diff --git a/src/mess/machine/mbc55x.c b/src/mess/machine/mbc55x.c index b08a42d50f0..33328e75c1a 100644 --- a/src/mess/machine/mbc55x.c +++ b/src/mess/machine/mbc55x.c @@ -109,11 +109,6 @@ WRITE8_MEMBER(mbc55x_state::mbcpic8259_w) m_pic->write(space, offset>>1, data); } -IRQ_CALLBACK_MEMBER(mbc55x_state::mbc55x_irq_callback) -{ - return m_pic->inta_r(); -} - READ8_MEMBER(mbc55x_state::mbcpit8253_r) { return m_pit->read(space, offset >> 1); diff --git a/src/mess/machine/pk8020.c b/src/mess/machine/pk8020.c index 838a759387e..2bcba99f230 100644 --- a/src/mess/machine/pk8020.c +++ b/src/mess/machine/pk8020.c @@ -890,16 +890,6 @@ WRITE_LINE_MEMBER(pk8020_state::pk8020_pit_out1) } -WRITE_LINE_MEMBER(pk8020_state::pk8020_pic_set_int_line) -{ - m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); -} - -IRQ_CALLBACK_MEMBER(pk8020_state::pk8020_irq_callback) -{ - return m_pic8259->acknowledge(); -} - void pk8020_state::machine_start() { static const char *const keynames[] = { |
