(MESS) Used modern accessors for i8259. (nw)

This commit is contained in:
Curt Coder 2013-02-02 22:24:47 +00:00
parent e67051001f
commit 6ab6bf735a
27 changed files with 141 additions and 146 deletions

View File

@ -205,7 +205,10 @@ int pic8259_acknowledge(device_t *device)
return 0; return 0;
} }
UINT8 pic8259_device::inta_r()
{
return pic8259_acknowledge(this);
}
READ8_DEVICE_HANDLER( pic8259_r ) READ8_DEVICE_HANDLER( pic8259_r )
{ {

View File

@ -46,6 +46,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( ir6_w ); DECLARE_WRITE_LINE_MEMBER( ir6_w );
DECLARE_WRITE_LINE_MEMBER( ir7_w ); DECLARE_WRITE_LINE_MEMBER( ir7_w );
UINT8 inta_r();
// access to legacy token // access to legacy token
void *token() const { assert(m_token != NULL); return m_token; } void *token() const { assert(m_token != NULL); return m_token; }
protected: protected:

View File

@ -117,7 +117,7 @@ WRITE_LINE_MEMBER( apricot_state::apricot_pit8253_out2 )
static const struct pit8253_config apricot_pit8253_intf = static const struct pit8253_config apricot_pit8253_intf =
{ {
{ {
{ XTAL_4MHz / 16, DEVCB_LINE_VCC, DEVCB_DEVICE_LINE("ic31", pic8259_ir6_w) }, { XTAL_4MHz / 16, DEVCB_LINE_VCC, DEVCB_DEVICE_LINE_MEMBER("ic31", pic8259_device, ir6_w) },
{ 0 /*XTAL_4MHz / 2*/, DEVCB_LINE_VCC, DEVCB_DRIVER_LINE_MEMBER(apricot_state, apricot_pit8253_out1) }, { 0 /*XTAL_4MHz / 2*/, DEVCB_LINE_VCC, DEVCB_DRIVER_LINE_MEMBER(apricot_state, apricot_pit8253_out1) },
{ 0 /*XTAL_4MHz / 2*/, DEVCB_LINE_VCC, DEVCB_DRIVER_LINE_MEMBER(apricot_state, apricot_pit8253_out2) } { 0 /*XTAL_4MHz / 2*/, DEVCB_LINE_VCC, DEVCB_DRIVER_LINE_MEMBER(apricot_state, apricot_pit8253_out2) }
} }
@ -145,7 +145,7 @@ static const z80sio_interface apricot_z80sio_intf =
IRQ_CALLBACK_MEMBER(apricot_state::apricot_irq_ack) IRQ_CALLBACK_MEMBER(apricot_state::apricot_irq_ack)
{ {
return pic8259_acknowledge(m_pic); return m_pic->inta_r();
} }
static const struct pic8259_interface apricot_pic8259_intf = static const struct pic8259_interface apricot_pic8259_intf =

View File

@ -418,7 +418,7 @@ static APRICOT_KEYBOARD_INTERFACE( kb_intf )
IRQ_CALLBACK_MEMBER(fp_state::fp_irq_callback) IRQ_CALLBACK_MEMBER(fp_state::fp_irq_callback)
{ {
return pic8259_acknowledge(m_pic); return m_pic->inta_r();
} }
/* /*
@ -543,7 +543,7 @@ void fp_state::fdc_drq_w(bool state)
WRITE_LINE_MEMBER( fp_state::busy_w ) WRITE_LINE_MEMBER( fp_state::busy_w )
{ {
if (!state) pic8259_ir6_w(m_pic, ASSERT_LINE); if (!state) m_pic->ir6_w(ASSERT_LINE);
} }
static const centronics_interface centronics_intf = static const centronics_interface centronics_intf =

View File

@ -296,7 +296,7 @@ static const at_keyboard_controller_interface keyboard_controller_intf =
{ {
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_RESET), DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_RESET),
DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_A20), DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_A20),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir1_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir1_w),
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER("pc_kbdc", pc_kbdc_device, clock_write_from_mb), DEVCB_DEVICE_LINE_MEMBER("pc_kbdc", pc_kbdc_device, clock_write_from_mb),
DEVCB_DEVICE_LINE_MEMBER("pc_kbdc", pc_kbdc_device, data_write_from_mb) DEVCB_DEVICE_LINE_MEMBER("pc_kbdc", pc_kbdc_device, data_write_from_mb)
@ -310,7 +310,7 @@ static const pc_kbdc_interface pc_kbdc_intf =
WRITE_LINE_MEMBER( at_state::at_mc146818_irq ) WRITE_LINE_MEMBER( at_state::at_mc146818_irq )
{ {
pic8259_ir0_w(m_pic8259_slave, (state) ? 0 : 1); m_pic8259_slave->ir0_w((state) ? 0 : 1);
} }
const struct mc146818_interface at_mc146818_config = const struct mc146818_interface at_mc146818_config =
@ -321,18 +321,18 @@ const struct mc146818_interface at_mc146818_config =
static const isa16bus_interface isabus_intf = static const isa16bus_interface isabus_intf =
{ {
// interrupts // interrupts
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir2_w), // in place of irq 2 on at irq 9 is used DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir2_w), // in place of irq 2 on at irq 9 is used
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir3_w),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir4_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir4_w),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir5_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir5_w),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir6_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir6_w),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir7_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir7_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir3_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir4_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir4_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir5_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir5_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir6_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir6_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir7_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir7_w),
// dma request // dma request
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq0_w), DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq0_w),

View File

@ -1727,7 +1727,7 @@ static IEEE488_INTERFACE( ieee488_intf )
IRQ_CALLBACK_MEMBER(cbm2_state::pic_irq_callback) IRQ_CALLBACK_MEMBER(cbm2_state::pic_irq_callback)
{ {
return pic8259_acknowledge(m_ext_pic); return m_ext_pic->inta_r();
} }
static pic8259_interface ext_pic_intf = static pic8259_interface ext_pic_intf =

View File

@ -221,7 +221,7 @@ ADDRESS_MAP_END
INPUT_CHANGED_MEMBER(iq151_state::iq151_break) INPUT_CHANGED_MEMBER(iq151_state::iq151_break)
{ {
pic8259_ir5_w(m_pic, newval & 1); m_pic->ir5_w(newval & 1);
} }
/* Input ports */ /* Input ports */
@ -324,13 +324,13 @@ WRITE_LINE_MEMBER( iq151_state::pic_set_int_line )
INTERRUPT_GEN_MEMBER(iq151_state::iq151_vblank_interrupt) INTERRUPT_GEN_MEMBER(iq151_state::iq151_vblank_interrupt)
{ {
pic8259_ir6_w(m_pic, m_vblank_irq_state & 1); m_pic->ir6_w(m_vblank_irq_state & 1);
m_vblank_irq_state ^= 1; m_vblank_irq_state ^= 1;
} }
IRQ_CALLBACK_MEMBER(iq151_state::iq151_irq_callback) IRQ_CALLBACK_MEMBER(iq151_state::iq151_irq_callback)
{ {
return pic8259_acknowledge(m_pic); return m_pic->inta_r();
} }
TIMER_DEVICE_CALLBACK_MEMBER(iq151_state::cassette_timer) TIMER_DEVICE_CALLBACK_MEMBER(iq151_state::cassette_timer)
@ -403,11 +403,11 @@ static const cassette_interface iq151_cassette_interface =
static const iq151cart_interface iq151_cart_interface = static const iq151cart_interface iq151_cart_interface =
{ {
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w),
DEVCB_DEVICE_LINE("pic8259", pic8259_ir1_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir1_w),
DEVCB_DEVICE_LINE("pic8259", pic8259_ir2_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir2_w),
DEVCB_DEVICE_LINE("pic8259", pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir3_w),
DEVCB_DEVICE_LINE("pic8259", pic8259_ir4_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir4_w),
DEVCB_NULL DEVCB_NULL
}; };

View File

@ -475,7 +475,7 @@ static const pit8253_config pc_pit8254_config =
{ {
4772720/4, /* heartbeat IRQ */ 4772720/4, /* heartbeat IRQ */
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w) DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
}, { }, {
4772720/4, /* dram refresh */ 4772720/4, /* dram refresh */
DEVCB_NULL, DEVCB_NULL,

View File

@ -913,7 +913,7 @@ static I8237_INTERFACE( dmac_intf )
IRQ_CALLBACK_MEMBER(pc1512_state::pc1512_irq_callback) IRQ_CALLBACK_MEMBER(pc1512_state::pc1512_irq_callback)
{ {
return pic8259_acknowledge(m_pic); return m_pic->inta_r();
} }
static const struct pic8259_interface pic_intf = static const struct pic8259_interface pic_intf =

View File

@ -1641,7 +1641,7 @@ static const struct pic8259_interface pc88va_pic8259_master_config =
static const struct pic8259_interface pc88va_pic8259_slave_config = static const struct pic8259_interface pc88va_pic8259_slave_config =
{ {
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir7_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir7_w),
DEVCB_LINE_GND, DEVCB_LINE_GND,
DEVCB_NULL DEVCB_NULL
}; };

View File

@ -2934,7 +2934,7 @@ static const struct pic8259_interface pic8259_master_config =
static const struct pic8259_interface pic8259_slave_config = static const struct pic8259_interface pic8259_slave_config =
{ {
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir7_w), //TODO: check me DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir7_w), //TODO: check me
DEVCB_LINE_GND, DEVCB_LINE_GND,
DEVCB_NULL DEVCB_NULL
}; };

View File

@ -327,7 +327,7 @@ void qx10_state::qx10_upd765_interrupt(bool state)
//logerror("Interrupt from upd765: %d\n", state); //logerror("Interrupt from upd765: %d\n", state);
// signal interrupt // signal interrupt
pic8259_ir6_w(m_pic_m, state); m_pic_m->ir6_w(state);
} }
void qx10_state::drq_w(bool state) void qx10_state::drq_w(bool state)
@ -545,7 +545,7 @@ WRITE_LINE_MEMBER( qx10_state::qx10_pic8259_master_set_int_line )
READ8_MEMBER( qx10_state::get_slave_ack ) READ8_MEMBER( qx10_state::get_slave_ack )
{ {
if (offset==7) { // IRQ = 7 if (offset==7) { // IRQ = 7
return pic8259_acknowledge(m_pic_s); return m_pic_s->inta_r();
} }
return 0x00; return 0x00;
} }
@ -572,7 +572,7 @@ static const struct pic8259_interface qx10_pic8259_master_config =
static const struct pic8259_interface qx10_pic8259_slave_config = static const struct pic8259_interface qx10_pic8259_slave_config =
{ {
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir7_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir7_w),
DEVCB_LINE_GND, DEVCB_LINE_GND,
DEVCB_NULL DEVCB_NULL
}; };
@ -611,7 +611,7 @@ WRITE8_MEMBER( qx10_state::upd7201_w )
m_keyb.led[(data & 0xe) >> 1] = data & 1; m_keyb.led[(data & 0xe) >> 1] = data & 1;
printf("keyb Set led %02x %s\n",((data & 0xe) >> 1),data & 1 ? "on" : "off"); printf("keyb Set led %02x %s\n",((data & 0xe) >> 1),data & 1 ? "on" : "off");
m_keyb.rx = (data & 0xf) | 0xc0; m_keyb.rx = (data & 0xf) | 0xc0;
pic8259_ir4_w(machine().device("pic8259_master"), 1); m_pic_m->ir4_w(1);
break; break;
case 0x60: case 0x60:
printf("keyb Read LED status\n"); printf("keyb Read LED status\n");
@ -702,7 +702,7 @@ INPUT_CHANGED_MEMBER(qx10_state::key_stroke)
if(newval && !oldval) if(newval && !oldval)
{ {
m_keyb.rx = (UINT8)(FPTR)(param) & 0x7f; m_keyb.rx = (UINT8)(FPTR)(param) & 0x7f;
pic8259_ir4_w(machine().device("pic8259_master"), 1); m_pic_m->ir4_w(1);
} }
if(oldval && !newval) if(oldval && !newval)

View File

@ -725,7 +725,7 @@ static const z80_daisy_config trs80m2_daisy_chain[] =
IRQ_CALLBACK_MEMBER(trs80m16_state::trs80m16_irq_callback) IRQ_CALLBACK_MEMBER(trs80m16_state::trs80m16_irq_callback)
{ {
return pic8259_acknowledge(m_pic); return m_pic->inta_r();
} }
static const struct pic8259_interface pic_intf = static const struct pic8259_interface pic_intf =

View File

@ -119,7 +119,7 @@ static MC6845_INTERFACE( hd46505s_intf )
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir7_w), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir7_w),
NULL NULL
}; };
@ -139,15 +139,15 @@ static const struct pit8253_config pit_intf =
{ {
2500000, 2500000,
DEVCB_LINE_VCC, DEVCB_LINE_VCC,
DEVCB_DRIVER_LINE_MEMBER(victor9k_state,mux_serial_b_w) DEVCB_DRIVER_LINE_MEMBER(victor9k_state, mux_serial_b_w)
}, { }, {
2500000, 2500000,
DEVCB_LINE_VCC, DEVCB_LINE_VCC,
DEVCB_DRIVER_LINE_MEMBER(victor9k_state,mux_serial_a_w) DEVCB_DRIVER_LINE_MEMBER(victor9k_state, mux_serial_a_w)
}, { }, {
100000, 100000,
DEVCB_LINE_VCC, DEVCB_LINE_VCC,
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir2_w) DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir2_w)
} }
} }
}; };
@ -218,7 +218,7 @@ WRITE_LINE_MEMBER( victor9k_state::ssda_irq_w )
{ {
m_ssda_irq = state; m_ssda_irq = state;
pic8259_ir3_w(m_pic, m_ssda_irq | m_via1_irq | m_via2_irq | m_via3_irq | m_via4_irq | m_via5_irq | m_via6_irq); m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
} }
static MC6852_INTERFACE( ssda_intf ) static MC6852_INTERFACE( ssda_intf )
@ -352,7 +352,7 @@ WRITE_LINE_MEMBER( victor9k_state::via1_irq_w )
{ {
m_via1_irq = state; m_via1_irq = state;
pic8259_ir3_w(m_pic, m_ssda_irq | m_via1_irq | m_via2_irq | m_via3_irq | m_via4_irq | m_via5_irq | m_via6_irq); m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
} }
static const via6522_interface via1_intf = static const via6522_interface via1_intf =
@ -451,7 +451,7 @@ WRITE_LINE_MEMBER( victor9k_state::via2_irq_w )
{ {
m_via2_irq = state; m_via2_irq = state;
pic8259_ir3_w(m_pic, m_ssda_irq | m_via1_irq | m_via2_irq | m_via3_irq | m_via4_irq | m_via5_irq | m_via6_irq); m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
} }
static const via6522_interface via2_intf = static const via6522_interface via2_intf =
@ -557,7 +557,7 @@ WRITE_LINE_MEMBER( victor9k_state::via3_irq_w )
{ {
m_via3_irq = state; m_via3_irq = state;
pic8259_ir3_w(m_pic, m_ssda_irq | m_via1_irq | m_via2_irq | m_via3_irq | m_via4_irq | m_via5_irq | m_via6_irq); m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
} }
static const via6522_interface via3_intf = static const via6522_interface via3_intf =
@ -627,7 +627,7 @@ WRITE_LINE_MEMBER( victor9k_state::via4_irq_w )
{ {
m_via4_irq = state; m_via4_irq = state;
pic8259_ir3_w(m_pic, m_ssda_irq | m_via1_irq | m_via2_irq | m_via3_irq | m_via4_irq | m_via5_irq | m_via6_irq); m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
} }
static const via6522_interface via4_intf = static const via6522_interface via4_intf =
@ -691,7 +691,7 @@ WRITE_LINE_MEMBER( victor9k_state::via5_irq_w )
{ {
m_via5_irq = state; m_via5_irq = state;
pic8259_ir3_w(m_pic, m_ssda_irq | m_via1_irq | m_via2_irq | m_via3_irq | m_via4_irq | m_via5_irq | m_via6_irq); m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
} }
static const via6522_interface via5_intf = static const via6522_interface via5_intf =
@ -733,13 +733,13 @@ READ8_MEMBER( victor9k_state::via6_pa_r )
UINT8 data = 0; UINT8 data = 0;
// track 0 drive A sense // track 0 drive A sense
data |= floppy_tk00_r(m_floppy0) << 1; data |= m_floppy0->trk00_r() << 1;
// track 0 drive B sense // track 0 drive B sense
data |= floppy_tk00_r(m_floppy1) << 3; data |= m_floppy1->trk00_r() << 3;
// write protect sense // write protect sense
data |= floppy_wpt_r(m_drive ? m_floppy1 : m_floppy0) << 6; data |= (m_drive ? m_floppy1->wpt_r() : m_floppy0->wpt_r()) << 6;
// disk sync detect // disk sync detect
@ -804,7 +804,7 @@ READ8_MEMBER( victor9k_state::via6_pb_r )
// door A sense // door A sense
// single/double sided // single/double sided
data |= floppy_twosid_r(m_drive ? m_floppy1 : m_floppy0) << 5; data |= (m_drive ? m_floppy1->twosid_r() : m_floppy0->twosid_r()) << 5;
return data; return data;
} }
@ -848,7 +848,7 @@ WRITE_LINE_MEMBER( victor9k_state::via6_irq_w )
{ {
m_via6_irq = state; m_via6_irq = state;
pic8259_ir3_w(m_pic, m_ssda_irq | m_via1_irq | m_via2_irq | m_via3_irq | m_via4_irq | m_via5_irq | m_via6_irq); m_pic->ir3_w(m_ssda_irq || m_via1_irq || m_via2_irq || m_via3_irq || m_via4_irq || m_via5_irq || m_via6_irq);
} }
static const via6522_interface via6_intf = static const via6522_interface via6_intf =
@ -876,7 +876,7 @@ WRITE_LINE_MEMBER( victor9k_state::kbrdy_w )
{ {
m_via2->write_cb1(state); m_via2->write_cb1(state);
pic8259_ir6_w(m_pic, state ? CLEAR_LINE : ASSERT_LINE); m_pic->ir6_w(state ? CLEAR_LINE : ASSERT_LINE);
} }
static VICTOR9K_KEYBOARD_INTERFACE( kb_intf ) static VICTOR9K_KEYBOARD_INTERFACE( kb_intf )
@ -884,21 +884,6 @@ static VICTOR9K_KEYBOARD_INTERFACE( kb_intf )
DEVCB_DRIVER_LINE_MEMBER(victor9k_state, kbrdy_w) DEVCB_DRIVER_LINE_MEMBER(victor9k_state, kbrdy_w)
}; };
// Floppy Configuration
static const floppy_interface victor9k_floppy_interface =
{
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSQD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
"floppy_5_25",
NULL
};
// IEEE-488 Interface // IEEE-488 Interface
static IEEE488_INTERFACE( ieee488_intf ) static IEEE488_INTERFACE( ieee488_intf )
@ -913,11 +898,15 @@ static IEEE488_INTERFACE( ieee488_intf )
DEVCB_NULL DEVCB_NULL
}; };
static SLOT_INTERFACE_START( victor9k_floppies )
SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
SLOT_INTERFACE_END
// Machine Initialization // Machine Initialization
IRQ_CALLBACK_MEMBER(victor9k_state::victor9k_irq_callback) IRQ_CALLBACK_MEMBER(victor9k_state::victor9k_irq_callback)
{ {
return pic8259_acknowledge(m_pic); return m_pic->inta_r();
} }
void victor9k_state::machine_start() void victor9k_state::machine_start()
@ -970,7 +959,8 @@ static MACHINE_CONFIG_START( victor9k, victor9k_state )
MCFG_VIA6522_ADD(M6522_4_TAG, XTAL_30MHz/30, via4_intf) MCFG_VIA6522_ADD(M6522_4_TAG, XTAL_30MHz/30, via4_intf)
MCFG_VIA6522_ADD(M6522_5_TAG, XTAL_30MHz/30, via5_intf) MCFG_VIA6522_ADD(M6522_5_TAG, XTAL_30MHz/30, via5_intf)
MCFG_VIA6522_ADD(M6522_6_TAG, XTAL_30MHz/30, via6_intf) MCFG_VIA6522_ADD(M6522_6_TAG, XTAL_30MHz/30, via6_intf)
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(victor9k_floppy_interface) MCFG_FLOPPY_DRIVE_ADD(I8048_TAG":0", victor9k_floppies, "525qd", 0, floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(I8048_TAG":1", victor9k_floppies, "525qd", 0, floppy_image_device::default_floppy_formats)
MCFG_VICTOR9K_KEYBOARD_ADD(kb_intf) MCFG_VICTOR9K_KEYBOARD_ADD(kb_intf)
// internal ram // internal ram

View File

@ -273,7 +273,7 @@ WRITE8_MEMBER( wangpc_state::timer0_irq_clr_w )
{ {
//if (LOG) logerror("%s: Timer 0 IRQ clear\n", machine().describe_context()); //if (LOG) logerror("%s: Timer 0 IRQ clear\n", machine().describe_context());
pic8259_ir0_w(m_pic, CLEAR_LINE); m_pic->ir0_w(CLEAR_LINE);
} }
@ -733,19 +733,19 @@ void wangpc_state::check_level1_interrupts()
{ {
int state = !m_timer2_irq || m_epci->rxrdy_r() || m_epci->txemt_r() || !m_acknlg || !m_dav || !m_busy; int state = !m_timer2_irq || m_epci->rxrdy_r() || m_epci->txemt_r() || !m_acknlg || !m_dav || !m_busy;
pic8259_ir1_w(m_pic, state); m_pic->ir1_w(state);
} }
void wangpc_state::check_level2_interrupts() void wangpc_state::check_level2_interrupts()
{ {
int state = !m_dma_eop || m_uart_dr || m_uart_tbre || m_fdc_dd0 || m_fdc_dd1 || m_fdc->get_irq() || m_fpu_irq || m_bus_irq2; int state = !m_dma_eop || m_uart_dr || m_uart_tbre || m_fdc_dd0 || m_fdc_dd1 || m_fdc->get_irq() || m_fpu_irq || m_bus_irq2;
pic8259_ir2_w(m_pic, state); m_pic->ir2_w(state);
} }
IRQ_CALLBACK_MEMBER(wangpc_state::wangpc_irq_callback) IRQ_CALLBACK_MEMBER( wangpc_state::wangpc_irq_callback )
{ {
return pic8259_acknowledge(m_pic); return m_pic->inta_r();
} }
static const struct pic8259_interface pic_intf = static const struct pic8259_interface pic_intf =
@ -903,7 +903,7 @@ static const struct pit8253_config pit_intf =
{ {
500000, 500000,
DEVCB_LINE_VCC, DEVCB_LINE_VCC,
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir0_w) DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir0_w)
}, { }, {
2000000, 2000000,
DEVCB_LINE_VCC, DEVCB_LINE_VCC,
@ -1062,11 +1062,11 @@ WRITE_LINE_MEMBER( wangpc_state::bus_irq2_w )
static WANGPC_BUS_INTERFACE( bus_intf ) static WANGPC_BUS_INTERFACE( bus_intf )
{ {
DEVCB_DRIVER_LINE_MEMBER(wangpc_state, bus_irq2_w), DEVCB_DRIVER_LINE_MEMBER(wangpc_state, bus_irq2_w),
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir3_w),
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir4_w), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir4_w),
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir5_w), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir5_w),
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir6_w), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir6_w),
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir7_w), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir7_w),
DEVCB_DEVICE_LINE_MEMBER(AM9517A_TAG, am9517a_device, dreq1_w), DEVCB_DEVICE_LINE_MEMBER(AM9517A_TAG, am9517a_device, dreq1_w),
DEVCB_DEVICE_LINE_MEMBER(AM9517A_TAG, am9517a_device, dreq2_w), DEVCB_DEVICE_LINE_MEMBER(AM9517A_TAG, am9517a_device, dreq2_w),
DEVCB_DEVICE_LINE_MEMBER(AM9517A_TAG, am9517a_device, dreq3_w), DEVCB_DEVICE_LINE_MEMBER(AM9517A_TAG, am9517a_device, dreq3_w),

View File

@ -597,19 +597,19 @@ INPUT_PORTS_END
IRQ_CALLBACK_MEMBER(z100_state::z100_irq_callback) IRQ_CALLBACK_MEMBER(z100_state::z100_irq_callback)
{ {
return pic8259_acknowledge( machine().device( "pic8259_master" ) ); return m_picm->inta_r();
} }
WRITE_LINE_MEMBER( z100_state::z100_pic_irq ) WRITE_LINE_MEMBER( z100_state::z100_pic_irq )
{ {
machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE); m_maincpu->set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
// logerror("PIC#1: set IRQ line to %i\n",interrupt); // logerror("PIC#1: set IRQ line to %i\n",interrupt);
} }
READ8_MEMBER( z100_state::get_slave_ack ) READ8_MEMBER( z100_state::get_slave_ack )
{ {
if (offset==7) { // IRQ = 7 if (offset==7) { // IRQ = 7
return pic8259_acknowledge(m_pics); return m_pics->inta_r();
} }
return 0; return 0;
} }
@ -623,7 +623,7 @@ static const struct pic8259_interface z100_pic8259_master_config =
static const struct pic8259_interface z100_pic8259_slave_config = static const struct pic8259_interface z100_pic8259_slave_config =
{ {
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir3_w),
DEVCB_LINE_GND, DEVCB_LINE_GND,
DEVCB_NULL DEVCB_NULL
}; };

View File

@ -7,7 +7,7 @@
#include "emu.h" #include "emu.h"
#include "cpu/i86/i86.h" #include "cpu/i86/i86.h"
#include "cpu/mcs48/mcs48.h" #include "cpu/mcs48/mcs48.h"
#include "imagedev/flopdrv.h" #include "imagedev/floppy.h"
#include "machine/ram.h" #include "machine/ram.h"
#include "machine/ctronics.h" #include "machine/ctronics.h"
#include "machine/6522via.h" #include "machine/6522via.h"
@ -52,11 +52,11 @@ public:
m_cvsd(*this, HC55516_TAG), m_cvsd(*this, HC55516_TAG),
m_crtc(*this, HD46505S_TAG), m_crtc(*this, HD46505S_TAG),
m_ram(*this, RAM_TAG), m_ram(*this, RAM_TAG),
m_floppy0(*this, FLOPPY_0), m_floppy0(*this, I8048_TAG":0:525qd"),
m_floppy1(*this, FLOPPY_1), m_floppy1(*this, I8048_TAG":1:525qd"),
m_kb(*this, VICTOR9K_KEYBOARD_TAG) m_kb(*this, VICTOR9K_KEYBOARD_TAG),
, m_video_ram(*this, "video_ram")
m_video_ram(*this, "video_ram"){ } { }
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_fdc_cpu; required_device<cpu_device> m_fdc_cpu;
@ -68,8 +68,8 @@ public:
required_device<hc55516_device> m_cvsd; required_device<hc55516_device> m_cvsd;
required_device<mc6845_device> m_crtc; required_device<mc6845_device> m_crtc;
required_device<ram_device> m_ram; required_device<ram_device> m_ram;
required_device<legacy_floppy_image_device> m_floppy0; required_device<floppy_image_device> m_floppy0;
required_device<legacy_floppy_image_device> m_floppy1; required_device<floppy_image_device> m_floppy1;
required_device<victor9k_keyboard_device> m_kb; required_device<victor9k_keyboard_device> m_kb;
virtual void machine_start(); virtual void machine_start();

View File

@ -16,7 +16,7 @@
READ8_MEMBER( at_state::get_slave_ack ) READ8_MEMBER( at_state::get_slave_ack )
{ {
if (offset==2) // IRQ = 2 if (offset==2) // IRQ = 2
return pic8259_acknowledge(m_pic8259_slave); return m_pic8259_slave->inta_r();
return 0x00; return 0x00;
} }
@ -30,7 +30,7 @@ const struct pic8259_interface at_pic8259_master_config =
const struct pic8259_interface at_pic8259_slave_config = const struct pic8259_interface at_pic8259_slave_config =
{ {
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir2_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir2_w),
DEVCB_LINE_GND, DEVCB_LINE_GND,
DEVCB_NULL DEVCB_NULL
}; };
@ -352,7 +352,7 @@ DRIVER_INIT_MEMBER(at_state,atvga)
IRQ_CALLBACK_MEMBER(at_state::at_irq_callback) IRQ_CALLBACK_MEMBER(at_state::at_irq_callback)
{ {
return pic8259_acknowledge(m_pic8259_master); return m_pic8259_master->inta_r();
} }
MACHINE_START_MEMBER(at_state,at) MACHINE_START_MEMBER(at_state,at)

View File

@ -154,7 +154,7 @@ const struct pit8253_config b2m_pit8253_intf =
{ {
0, 0,
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE("pic8259", pic8259_ir1_w) DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir1_w)
}, },
{ {
2000000, 2000000,

View File

@ -178,8 +178,8 @@ void compis_state::fdc_irq(bool state)
{ {
if (m_8259m) if (m_8259m)
{ {
pic8259_ir0_w(m_8259m, 1); m_8259m->ir0_w(1);
pic8259_ir0_w(m_8259m, 0); m_8259m->ir0_w(0);
} }
} }
} }
@ -1272,7 +1272,7 @@ WRITE_LINE_MEMBER( compis_state::compis_pic8259_slave_set_int_line )
READ8_MEMBER( compis_state::get_slave_ack ) READ8_MEMBER( compis_state::get_slave_ack )
{ {
if (offset==2) { // IRQ = 2 if (offset==2) { // IRQ = 2
return pic8259_acknowledge(m_8259s); return m_8259s->inta_r();
} }
return 0; return 0;
} }
@ -1294,7 +1294,7 @@ const struct pic8259_interface compis_pic8259_slave_config =
IRQ_CALLBACK_MEMBER(compis_state::compis_irq_callback) IRQ_CALLBACK_MEMBER(compis_state::compis_irq_callback)
{ {
return pic8259_acknowledge(m_8259m); return m_8259m->inta_r();
} }

View File

@ -237,7 +237,7 @@ const struct pit8253_config pc_pit8253_config =
{ {
XTAL_14_31818MHz/12, /* heartbeat IRQ */ XTAL_14_31818MHz/12, /* heartbeat IRQ */
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w) DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
}, { }, {
XTAL_14_31818MHz/12, /* dram refresh */ XTAL_14_31818MHz/12, /* dram refresh */
DEVCB_NULL, DEVCB_NULL,
@ -413,7 +413,7 @@ WRITE8_MEMBER( ibm5160_mb_device::pc_ppi_portb_w )
/* If PB7 is set clear the shift register and reset the IRQ line */ /* If PB7 is set clear the shift register and reset the IRQ line */
if ( m_ppi_keyboard_clear ) if ( m_ppi_keyboard_clear )
{ {
pic8259_ir1_w(m_pic8259, 0); m_pic8259->ir1_w(0);
m_ppi_shift_register = 0; m_ppi_shift_register = 0;
m_ppi_shift_enable = 1; m_ppi_shift_enable = 1;
} }
@ -433,12 +433,12 @@ I8255A_INTERFACE( pc_ppi8255_interface )
static const isa8bus_interface isabus_intf = static const isa8bus_interface isabus_intf =
{ {
// interrupts // interrupts
DEVCB_DEVICE_LINE("pic8259", pic8259_ir2_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir2_w),
DEVCB_DEVICE_LINE("pic8259", pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir3_w),
DEVCB_DEVICE_LINE("pic8259", pic8259_ir4_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir4_w),
DEVCB_DEVICE_LINE("pic8259", pic8259_ir5_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir5_w),
DEVCB_DEVICE_LINE("pic8259", pic8259_ir6_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir6_w),
DEVCB_DEVICE_LINE("pic8259", pic8259_ir7_w), DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir7_w),
// dma request // dma request
DEVCB_DEVICE_LINE_MEMBER("dma8237", am9517a_device, dreq1_w), DEVCB_DEVICE_LINE_MEMBER("dma8237", am9517a_device, dreq1_w),
@ -654,7 +654,7 @@ void ibm5160_mb_device::device_start()
IRQ_CALLBACK_MEMBER(ibm5160_mb_device::pc_irq_callback) IRQ_CALLBACK_MEMBER(ibm5160_mb_device::pc_irq_callback)
{ {
return pic8259_acknowledge(m_pic8259); return m_pic8259->inta_r();
} }
@ -874,7 +874,7 @@ WRITE8_MEMBER( ibm5150_mb_device::pc_ppi_portb_w )
/* If PB7 is set clear the shift register and reset the IRQ line */ /* If PB7 is set clear the shift register and reset the IRQ line */
if ( m_ppi_keyboard_clear ) if ( m_ppi_keyboard_clear )
{ {
pic8259_ir1_w(m_pic8259, 0); m_pic8259->ir1_w(0);
m_ppi_shift_register = 0; m_ppi_shift_register = 0;
m_ppi_shift_enable = 1; m_ppi_shift_enable = 1;
} }

View File

@ -135,7 +135,7 @@ const struct pit8253_config irisha_pit8253_intf =
{ {
XTAL_16MHz / 9, XTAL_16MHz / 9,
DEVCB_LINE_VCC, DEVCB_LINE_VCC,
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w) DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
}, },
{ {
XTAL_16MHz / 9 / 8 / 8, XTAL_16MHz / 9 / 8 / 8,

View File

@ -128,7 +128,7 @@ WRITE8_MEMBER(mbc55x_state::mbcpic8259_w)
IRQ_CALLBACK_MEMBER(mbc55x_state::mbc55x_irq_callback) IRQ_CALLBACK_MEMBER(mbc55x_state::mbc55x_irq_callback)
{ {
return pic8259_acknowledge(m_pic); return m_pic->inta_r();
} }
/* PIT8253 Configuration */ /* PIT8253 Configuration */
@ -139,12 +139,12 @@ const struct pit8253_config mbc55x_pit8253_config =
{ {
PIT_C0_CLOCK, PIT_C0_CLOCK,
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE(PIC8259_TAG, pic8259_ir0_w) DEVCB_DEVICE_LINE_MEMBER(PIC8259_TAG, pic8259_device, ir0_w)
}, },
{ {
PIT_C1_CLOCK, PIT_C1_CLOCK,
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE(PIC8259_TAG, pic8259_ir1_w) DEVCB_DEVICE_LINE_MEMBER(PIC8259_TAG, pic8259_device, ir1_w)
}, },
{ {
PIT_C2_CLOCK, PIT_C2_CLOCK,
@ -298,7 +298,7 @@ const i8251_interface mbc55x_i8251a_interface =
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE(PIC8259_TAG, pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER(PIC8259_TAG, pic8259_device, ir3_w),
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL DEVCB_NULL

View File

@ -397,7 +397,7 @@ const struct pit8253_config ibm5150_pit8253_config =
{ {
XTAL_14_31818MHz/12, /* heartbeat IRQ */ XTAL_14_31818MHz/12, /* heartbeat IRQ */
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w) DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
}, { }, {
XTAL_14_31818MHz/12, /* dram refresh */ XTAL_14_31818MHz/12, /* dram refresh */
DEVCB_NULL, DEVCB_NULL,
@ -423,7 +423,7 @@ const struct pit8253_config pcjr_pit8253_config =
{ {
XTAL_14_31818MHz/12, /* heartbeat IRQ */ XTAL_14_31818MHz/12, /* heartbeat IRQ */
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w) DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
}, { }, {
XTAL_14_31818MHz/12, /* dram refresh */ XTAL_14_31818MHz/12, /* dram refresh */
DEVCB_NULL, DEVCB_NULL,
@ -444,7 +444,7 @@ const struct pit8253_config mc1502_pit8253_config =
{ {
XTAL_16MHz/12, /* heartbeat IRQ */ XTAL_16MHz/12, /* heartbeat IRQ */
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w) DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
}, { }, {
XTAL_16MHz/12, /* serial port */ XTAL_16MHz/12, /* serial port */
DEVCB_NULL, DEVCB_NULL,

View File

@ -967,7 +967,7 @@ const struct pit8253_config pk8020_pit8253_intf =
{ {
(XTAL_20MHz / 8) / 164, (XTAL_20MHz / 8) / 164,
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE("pic8259", pic8259_ir5_w) DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir5_w)
} }
} }
}; };

View File

@ -86,7 +86,7 @@ static ins8250_interface ace1_intf =
{ {
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir3_w),
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL DEVCB_NULL
@ -101,7 +101,7 @@ static ins8250_interface ace2_intf =
{ {
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir4_w), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir4_w),
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL DEVCB_NULL
@ -116,7 +116,7 @@ static ins8250_interface ace3_intf =
{ {
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir5_w), DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir5_w),
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL, DEVCB_NULL,
DEVCB_NULL DEVCB_NULL
@ -132,7 +132,7 @@ WRITE_LINE_MEMBER( s100_wunderbus_device::rtc_tp_w )
if (state) if (state)
{ {
m_rtc_tp = state; m_rtc_tp = state;
pic8259_ir7_w(m_pic, m_rtc_tp); m_pic->ir7_w(m_rtc_tp);
} }
} }
@ -301,7 +301,7 @@ void s100_wunderbus_device::device_reset()
void s100_wunderbus_device::s100_vi0_w(int state) void s100_wunderbus_device::s100_vi0_w(int state)
{ {
pic8259_ir0_w(m_pic, state); m_pic->ir0_w(state);
} }
@ -311,7 +311,7 @@ void s100_wunderbus_device::s100_vi0_w(int state)
void s100_wunderbus_device::s100_vi1_w(int state) void s100_wunderbus_device::s100_vi1_w(int state)
{ {
pic8259_ir1_w(m_pic, state); m_pic->ir1_w(state);
} }
@ -321,7 +321,7 @@ void s100_wunderbus_device::s100_vi1_w(int state)
void s100_wunderbus_device::s100_vi2_w(int state) void s100_wunderbus_device::s100_vi2_w(int state)
{ {
pic8259_ir2_w(m_pic, state); m_pic->ir2_w(state);
} }
@ -400,7 +400,7 @@ UINT8 s100_wunderbus_device::s100_sinp_r(address_space &space, offs_t offset)
// reset clock interrupt // reset clock interrupt
m_rtc_tp = 0; m_rtc_tp = 0;
pic8259_ir7_w(m_pic, m_rtc_tp); m_pic->ir7_w(m_rtc_tp);
break; break;
case 3: // Parallel data IN case 3: // Parallel data IN
@ -408,7 +408,7 @@ UINT8 s100_wunderbus_device::s100_sinp_r(address_space &space, offs_t offset)
case 4: // 8259 0 register case 4: // 8259 0 register
case 5: // 8259 1 register case 5: // 8259 1 register
data = pic8259_r(m_pic, space, offset & 0x01); data = m_pic->read(space, offset & 0x01);
break; break;
case 6: // not used case 6: // not used
@ -517,7 +517,7 @@ void s100_wunderbus_device::s100_sout_w(address_space &space, offs_t offset, UIN
case 4: // 8259 0 register case 4: // 8259 0 register
case 5: // 8259 1 register case 5: // 8259 1 register
pic8259_w(m_pic, space, offset & 0x01, data); m_pic->write(space, offset & 0x01, data);
break; break;
case 6: // Par. port cntrl. case 6: // Par. port cntrl.

View File

@ -19,7 +19,7 @@ const struct pic8259_interface at_pic8259_master_config =
const struct pic8259_interface at_pic8259_slave_config = const struct pic8259_interface at_pic8259_slave_config =
{ {
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir2_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir2_w),
DEVCB_LINE_GND, DEVCB_LINE_GND,
DEVCB_NULL DEVCB_NULL
}; };
@ -75,7 +75,7 @@ static const at_keyboard_controller_interface keyboard_controller_intf =
{ {
DEVCB_CPU_INPUT_LINE(":maincpu", INPUT_LINE_RESET), DEVCB_CPU_INPUT_LINE(":maincpu", INPUT_LINE_RESET),
DEVCB_CPU_INPUT_LINE(":maincpu", INPUT_LINE_A20), DEVCB_CPU_INPUT_LINE(":maincpu", INPUT_LINE_A20),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir1_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir1_w),
DEVCB_NULL, DEVCB_NULL,
DEVCB_DEVICE_LINE_MEMBER("pc_kbdc", pc_kbdc_device, clock_write_from_mb), DEVCB_DEVICE_LINE_MEMBER("pc_kbdc", pc_kbdc_device, clock_write_from_mb),
DEVCB_DEVICE_LINE_MEMBER("pc_kbdc", pc_kbdc_device, data_write_from_mb) DEVCB_DEVICE_LINE_MEMBER("pc_kbdc", pc_kbdc_device, data_write_from_mb)
@ -90,18 +90,18 @@ static const pc_kbdc_interface pc_kbdc_intf =
static const isa16bus_interface isabus_intf = static const isa16bus_interface isabus_intf =
{ {
// interrupts // interrupts
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir2_w), // in place of irq 2 on at irq 9 is used DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir2_w), // in place of irq 2 on at irq 9 is used
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir3_w),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir4_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir4_w),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir5_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir5_w),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir6_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir6_w),
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir7_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir7_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir3_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir3_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir4_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir4_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir5_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir5_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir6_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir6_w),
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir7_w), DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir7_w),
// dma request // dma request
DEVCB_DEVICE_LINE("dma8237_1", i8237_dreq0_w), DEVCB_DEVICE_LINE("dma8237_1", i8237_dreq0_w),
@ -183,7 +183,7 @@ southbridge_device::southbridge_device(const machine_config &mconfig, device_typ
IRQ_CALLBACK_MEMBER(southbridge_device::at_irq_callback) IRQ_CALLBACK_MEMBER(southbridge_device::at_irq_callback)
{ {
return pic8259_acknowledge(m_pic8259_master); return m_pic8259_master->inta_r();
} }
//------------------------------------------------- //-------------------------------------------------
@ -232,7 +232,7 @@ void southbridge_device::device_reset()
READ8_MEMBER( southbridge_device::get_slave_ack ) READ8_MEMBER( southbridge_device::get_slave_ack )
{ {
if (offset==2) // IRQ = 2 if (offset==2) // IRQ = 2
return pic8259_acknowledge(m_pic8259_slave); return m_pic8259_slave->inta_r();
return 0x00; return 0x00;
} }
@ -266,7 +266,7 @@ void southbridge_device::at_speaker_set_input(UINT8 data)
WRITE_LINE_MEMBER( southbridge_device::at_pit8254_out0_changed ) WRITE_LINE_MEMBER( southbridge_device::at_pit8254_out0_changed )
{ {
if (m_pic8259_master) if (m_pic8259_master)
pic8259_ir0_w(m_pic8259_master, state); m_pic8259_master->ir0_w(state);
} }