summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/emu/bus/pci/southbridge.c7
-rw-r--r--src/emu/bus/pci/southbridge.h1
-rw-r--r--src/emu/machine/cs4031.c2
-rw-r--r--src/emu/machine/cs4031.h2
-rw-r--r--src/emu/machine/i80130.h2
-rw-r--r--src/emu/machine/pic8259.c2
-rw-r--r--src/emu/machine/pic8259.h2
-rw-r--r--src/mame/drivers/calchase.c2
-rw-r--r--src/mame/drivers/fruitpc.c2
-rw-r--r--src/mame/drivers/funkball.c2
-rw-r--r--src/mame/drivers/gamecstl.c2
-rw-r--r--src/mame/drivers/gammagic.c2
-rw-r--r--src/mame/drivers/lindbergh.c1
-rw-r--r--src/mame/drivers/magtouch.c2
-rw-r--r--src/mame/drivers/mediagx.c2
-rw-r--r--src/mame/drivers/midqslvr.c2
-rw-r--r--src/mame/drivers/pangofun.c2
-rw-r--r--src/mame/drivers/pcat_dyn.c2
-rw-r--r--src/mame/drivers/pcat_nit.c4
-rw-r--r--src/mame/drivers/pcxt.c8
-rw-r--r--src/mame/drivers/photoply.c2
-rw-r--r--src/mame/drivers/pinball2k.c2
-rw-r--r--src/mame/drivers/quakeat.c2
-rw-r--r--src/mame/drivers/queen.c2
-rw-r--r--src/mame/drivers/savquest.c2
-rw-r--r--src/mame/drivers/su2000.c26
-rw-r--r--src/mame/drivers/taitowlf.c2
-rw-r--r--src/mame/drivers/voyager.c2
-rw-r--r--src/mame/drivers/xtom3d.c2
-rw-r--r--src/mame/machine/pcshare.c6
-rw-r--r--src/mame/machine/pcshare.h2
-rw-r--r--src/mess/drivers/amstr_pc.c2
-rw-r--r--src/mess/drivers/apc.c19
-rw-r--r--src/mess/drivers/apricot.c4
-rw-r--r--src/mess/drivers/apricotp.c7
-rw-r--r--src/mess/drivers/at.c32
-rw-r--r--src/mess/drivers/b2m.c4
-rw-r--r--src/mess/drivers/cbm2.c14
-rw-r--r--src/mess/drivers/ct486.c4
-rw-r--r--src/mess/drivers/ec184x.c3
-rw-r--r--src/mess/drivers/europc.c1
-rw-r--r--src/mess/drivers/fmtowns.c23
-rw-r--r--src/mess/drivers/genpc.c10
-rw-r--r--src/mess/drivers/ibmpc.c2
-rw-r--r--src/mess/drivers/ibmpcjr.c5
-rw-r--r--src/mess/drivers/iq151.c16
-rw-r--r--src/mess/drivers/isbc.c9
-rw-r--r--src/mess/drivers/iskr103x.c2
-rw-r--r--src/mess/drivers/mbc55x.c2
-rw-r--r--src/mess/drivers/mc1502.c7
-rw-r--r--src/mess/drivers/multi16.c17
-rw-r--r--src/mess/drivers/paso1600.c16
-rw-r--r--src/mess/drivers/pasogo.c17
-rw-r--r--src/mess/drivers/pc.c3
-rw-r--r--src/mess/drivers/pc100.c17
-rw-r--r--src/mess/drivers/pc1512.c14
-rw-r--r--src/mess/drivers/pc88va.c17
-rw-r--r--src/mess/drivers/pc9801.c18
-rw-r--r--src/mess/drivers/pk8020.c4
-rw-r--r--src/mess/drivers/poisk1.c7
-rw-r--r--src/mess/drivers/qx10.c10
-rw-r--r--src/mess/drivers/tandy1t.c3
-rw-r--r--src/mess/drivers/tandy2k.c2
-rw-r--r--src/mess/drivers/trs80m2.c14
-rw-r--r--src/mess/drivers/tsispch.c17
-rw-r--r--src/mess/drivers/victor9k.c8
-rw-r--r--src/mess/drivers/wangpc.c8
-rw-r--r--src/mess/drivers/z100.c19
-rw-r--r--src/mess/includes/apricotp.h1
-rw-r--r--src/mess/includes/at.h1
-rw-r--r--src/mess/includes/b2m.h2
-rw-r--r--src/mess/includes/cbm2.h2
-rw-r--r--src/mess/includes/fmtowns.h2
-rw-r--r--src/mess/includes/genpc.h2
-rw-r--r--src/mess/includes/mbc55x.h1
-rw-r--r--src/mess/includes/mc1502.h1
-rw-r--r--src/mess/includes/pc1512.h1
-rw-r--r--src/mess/includes/poisk1.h2
-rw-r--r--src/mess/includes/trs80m2.h2
-rw-r--r--src/mess/includes/tsispch.h2
-rw-r--r--src/mess/includes/victor9k.h1
-rw-r--r--src/mess/includes/wangpc.h2
-rw-r--r--src/mess/machine/apollo.c2
-rw-r--r--src/mess/machine/at.c7
-rw-r--r--src/mess/machine/b2m.c10
-rw-r--r--src/mess/machine/genpc.c5
-rw-r--r--src/mess/machine/mbc55x.c5
-rw-r--r--src/mess/machine/pk8020.c10
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[] = {