mirror of
https://github.com/holub/mame
synced 2025-06-07 21:33:45 +03:00
(MESS) Used modern accessors for i8259. (nw)
This commit is contained in:
parent
e67051001f
commit
6ab6bf735a
@ -205,7 +205,10 @@ int pic8259_acknowledge(device_t *device)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
UINT8 pic8259_device::inta_r()
|
||||
{
|
||||
return pic8259_acknowledge(this);
|
||||
}
|
||||
|
||||
READ8_DEVICE_HANDLER( pic8259_r )
|
||||
{
|
||||
|
@ -46,6 +46,8 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER( ir6_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( ir7_w );
|
||||
|
||||
UINT8 inta_r();
|
||||
|
||||
// access to legacy token
|
||||
void *token() const { assert(m_token != NULL); return m_token; }
|
||||
protected:
|
||||
|
@ -117,7 +117,7 @@ WRITE_LINE_MEMBER( apricot_state::apricot_pit8253_out2 )
|
||||
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_out2) }
|
||||
}
|
||||
@ -145,7 +145,7 @@ static const z80sio_interface apricot_z80sio_intf =
|
||||
|
||||
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 =
|
||||
|
@ -418,7 +418,7 @@ static APRICOT_KEYBOARD_INTERFACE( kb_intf )
|
||||
|
||||
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 )
|
||||
{
|
||||
if (!state) pic8259_ir6_w(m_pic, ASSERT_LINE);
|
||||
if (!state) m_pic->ir6_w(ASSERT_LINE);
|
||||
}
|
||||
|
||||
static const centronics_interface centronics_intf =
|
||||
|
@ -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_A20),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir1_w),
|
||||
DEVCB_NULL,
|
||||
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)
|
||||
@ -310,7 +310,7 @@ static const pc_kbdc_interface pc_kbdc_intf =
|
||||
|
||||
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 =
|
||||
@ -321,18 +321,18 @@ const struct mc146818_interface at_mc146818_config =
|
||||
static const isa16bus_interface isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir2_w), // in place of irq 2 on at irq 9 is used
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir3_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir4_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir5_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir6_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir7_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir2_w), // in place of irq 2 on at irq 9 is used
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir7_w),
|
||||
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir3_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir4_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir5_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir6_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir7_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir7_w),
|
||||
|
||||
// dma request
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq0_w),
|
||||
|
@ -1727,7 +1727,7 @@ static IEEE488_INTERFACE( ieee488_intf )
|
||||
|
||||
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 =
|
||||
|
@ -221,7 +221,7 @@ ADDRESS_MAP_END
|
||||
|
||||
INPUT_CHANGED_MEMBER(iq151_state::iq151_break)
|
||||
{
|
||||
pic8259_ir5_w(m_pic, newval & 1);
|
||||
m_pic->ir5_w(newval & 1);
|
||||
}
|
||||
|
||||
/* Input ports */
|
||||
@ -324,13 +324,13 @@ WRITE_LINE_MEMBER( iq151_state::pic_set_int_line )
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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)
|
||||
@ -403,11 +403,11 @@ static const cassette_interface iq151_cassette_interface =
|
||||
|
||||
static const iq151cart_interface iq151_cart_interface =
|
||||
{
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w),
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir1_w),
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir2_w),
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir3_w),
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir4_w),
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
|
@ -475,7 +475,7 @@ static const pit8253_config pc_pit8254_config =
|
||||
{
|
||||
4772720/4, /* heartbeat IRQ */
|
||||
DEVCB_NULL,
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
|
||||
}, {
|
||||
4772720/4, /* dram refresh */
|
||||
DEVCB_NULL,
|
||||
|
@ -913,7 +913,7 @@ static I8237_INTERFACE( dmac_intf )
|
||||
|
||||
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 =
|
||||
|
@ -1641,7 +1641,7 @@ static const struct pic8259_interface pc88va_pic8259_master_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_NULL
|
||||
};
|
||||
|
@ -2934,7 +2934,7 @@ static const struct pic8259_interface pic8259_master_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_NULL
|
||||
};
|
||||
|
@ -327,7 +327,7 @@ void qx10_state::qx10_upd765_interrupt(bool state)
|
||||
|
||||
//logerror("Interrupt from upd765: %d\n", state);
|
||||
// signal interrupt
|
||||
pic8259_ir6_w(m_pic_m, state);
|
||||
m_pic_m->ir6_w(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 )
|
||||
{
|
||||
if (offset==7) { // IRQ = 7
|
||||
return pic8259_acknowledge(m_pic_s);
|
||||
return m_pic_s->inta_r();
|
||||
}
|
||||
return 0x00;
|
||||
}
|
||||
@ -572,7 +572,7 @@ static const struct pic8259_interface qx10_pic8259_master_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_NULL
|
||||
};
|
||||
@ -611,7 +611,7 @@ WRITE8_MEMBER( qx10_state::upd7201_w )
|
||||
m_keyb.led[(data & 0xe) >> 1] = data & 1;
|
||||
printf("keyb Set led %02x %s\n",((data & 0xe) >> 1),data & 1 ? "on" : "off");
|
||||
m_keyb.rx = (data & 0xf) | 0xc0;
|
||||
pic8259_ir4_w(machine().device("pic8259_master"), 1);
|
||||
m_pic_m->ir4_w(1);
|
||||
break;
|
||||
case 0x60:
|
||||
printf("keyb Read LED status\n");
|
||||
@ -702,7 +702,7 @@ INPUT_CHANGED_MEMBER(qx10_state::key_stroke)
|
||||
if(newval && !oldval)
|
||||
{
|
||||
m_keyb.rx = (UINT8)(FPTR)(param) & 0x7f;
|
||||
pic8259_ir4_w(machine().device("pic8259_master"), 1);
|
||||
m_pic_m->ir4_w(1);
|
||||
}
|
||||
|
||||
if(oldval && !newval)
|
||||
|
@ -725,7 +725,7 @@ static const z80_daisy_config trs80m2_daisy_chain[] =
|
||||
|
||||
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 =
|
||||
|
@ -119,7 +119,7 @@ static MC6845_INTERFACE( hd46505s_intf )
|
||||
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
|
||||
};
|
||||
|
||||
@ -139,15 +139,15 @@ static const struct pit8253_config pit_intf =
|
||||
{
|
||||
2500000,
|
||||
DEVCB_LINE_VCC,
|
||||
DEVCB_DRIVER_LINE_MEMBER(victor9k_state,mux_serial_b_w)
|
||||
DEVCB_DRIVER_LINE_MEMBER(victor9k_state, mux_serial_b_w)
|
||||
}, {
|
||||
2500000,
|
||||
DEVCB_LINE_VCC,
|
||||
DEVCB_DRIVER_LINE_MEMBER(victor9k_state,mux_serial_a_w)
|
||||
DEVCB_DRIVER_LINE_MEMBER(victor9k_state, mux_serial_a_w)
|
||||
}, {
|
||||
100000,
|
||||
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;
|
||||
|
||||
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 )
|
||||
@ -352,7 +352,7 @@ WRITE_LINE_MEMBER( victor9k_state::via1_irq_w )
|
||||
{
|
||||
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 =
|
||||
@ -451,7 +451,7 @@ WRITE_LINE_MEMBER( victor9k_state::via2_irq_w )
|
||||
{
|
||||
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 =
|
||||
@ -557,7 +557,7 @@ WRITE_LINE_MEMBER( victor9k_state::via3_irq_w )
|
||||
{
|
||||
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 =
|
||||
@ -627,7 +627,7 @@ WRITE_LINE_MEMBER( victor9k_state::via4_irq_w )
|
||||
{
|
||||
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 =
|
||||
@ -691,7 +691,7 @@ WRITE_LINE_MEMBER( victor9k_state::via5_irq_w )
|
||||
{
|
||||
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 =
|
||||
@ -733,13 +733,13 @@ READ8_MEMBER( victor9k_state::via6_pa_r )
|
||||
UINT8 data = 0;
|
||||
|
||||
// track 0 drive A sense
|
||||
data |= floppy_tk00_r(m_floppy0) << 1;
|
||||
data |= m_floppy0->trk00_r() << 1;
|
||||
|
||||
// track 0 drive B sense
|
||||
data |= floppy_tk00_r(m_floppy1) << 3;
|
||||
data |= m_floppy1->trk00_r() << 3;
|
||||
|
||||
// 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
|
||||
|
||||
@ -804,7 +804,7 @@ READ8_MEMBER( victor9k_state::via6_pb_r )
|
||||
// door A sense
|
||||
|
||||
// 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;
|
||||
}
|
||||
@ -848,7 +848,7 @@ WRITE_LINE_MEMBER( victor9k_state::via6_irq_w )
|
||||
{
|
||||
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 =
|
||||
@ -876,7 +876,7 @@ WRITE_LINE_MEMBER( victor9k_state::kbrdy_w )
|
||||
{
|
||||
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 )
|
||||
@ -884,21 +884,6 @@ static VICTOR9K_KEYBOARD_INTERFACE( kb_intf )
|
||||
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
|
||||
|
||||
static IEEE488_INTERFACE( ieee488_intf )
|
||||
@ -913,11 +898,15 @@ static IEEE488_INTERFACE( ieee488_intf )
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
static SLOT_INTERFACE_START( victor9k_floppies )
|
||||
SLOT_INTERFACE( "525qd", FLOPPY_525_QD )
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
// Machine Initialization
|
||||
|
||||
IRQ_CALLBACK_MEMBER(victor9k_state::victor9k_irq_callback)
|
||||
{
|
||||
return pic8259_acknowledge(m_pic);
|
||||
return m_pic->inta_r();
|
||||
}
|
||||
|
||||
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_5_TAG, XTAL_30MHz/30, via5_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)
|
||||
|
||||
// internal ram
|
||||
|
@ -273,7 +273,7 @@ WRITE8_MEMBER( wangpc_state::timer0_irq_clr_w )
|
||||
{
|
||||
//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;
|
||||
|
||||
pic8259_ir1_w(m_pic, state);
|
||||
m_pic->ir1_w(state);
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
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 =
|
||||
@ -903,7 +903,7 @@ static const struct pit8253_config pit_intf =
|
||||
{
|
||||
500000,
|
||||
DEVCB_LINE_VCC,
|
||||
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir0_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir0_w)
|
||||
}, {
|
||||
2000000,
|
||||
DEVCB_LINE_VCC,
|
||||
@ -1062,11 +1062,11 @@ WRITE_LINE_MEMBER( wangpc_state::bus_irq2_w )
|
||||
static WANGPC_BUS_INTERFACE( bus_intf )
|
||||
{
|
||||
DEVCB_DRIVER_LINE_MEMBER(wangpc_state, bus_irq2_w),
|
||||
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir3_w),
|
||||
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir4_w),
|
||||
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir5_w),
|
||||
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir6_w),
|
||||
DEVCB_DEVICE_LINE(I8259A_TAG, pic8259_ir7_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A_TAG, pic8259_device, ir6_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, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(AM9517A_TAG, am9517a_device, dreq3_w),
|
||||
|
@ -597,19 +597,19 @@ INPUT_PORTS_END
|
||||
|
||||
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 )
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
READ8_MEMBER( z100_state::get_slave_ack )
|
||||
{
|
||||
if (offset==7) { // IRQ = 7
|
||||
return pic8259_acknowledge(m_pics);
|
||||
return m_pics->inta_r();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -623,7 +623,7 @@ static const struct pic8259_interface z100_pic8259_master_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_NULL
|
||||
};
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "emu.h"
|
||||
#include "cpu/i86/i86.h"
|
||||
#include "cpu/mcs48/mcs48.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "imagedev/floppy.h"
|
||||
#include "machine/ram.h"
|
||||
#include "machine/ctronics.h"
|
||||
#include "machine/6522via.h"
|
||||
@ -52,11 +52,11 @@ public:
|
||||
m_cvsd(*this, HC55516_TAG),
|
||||
m_crtc(*this, HD46505S_TAG),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_floppy0(*this, FLOPPY_0),
|
||||
m_floppy1(*this, FLOPPY_1),
|
||||
m_kb(*this, VICTOR9K_KEYBOARD_TAG)
|
||||
,
|
||||
m_video_ram(*this, "video_ram"){ }
|
||||
m_floppy0(*this, I8048_TAG":0:525qd"),
|
||||
m_floppy1(*this, I8048_TAG":1:525qd"),
|
||||
m_kb(*this, VICTOR9K_KEYBOARD_TAG),
|
||||
m_video_ram(*this, "video_ram")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_fdc_cpu;
|
||||
@ -68,8 +68,8 @@ public:
|
||||
required_device<hc55516_device> m_cvsd;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<legacy_floppy_image_device> m_floppy0;
|
||||
required_device<legacy_floppy_image_device> m_floppy1;
|
||||
required_device<floppy_image_device> m_floppy0;
|
||||
required_device<floppy_image_device> m_floppy1;
|
||||
required_device<victor9k_keyboard_device> m_kb;
|
||||
|
||||
virtual void machine_start();
|
||||
|
@ -16,7 +16,7 @@
|
||||
READ8_MEMBER( at_state::get_slave_ack )
|
||||
{
|
||||
if (offset==2) // IRQ = 2
|
||||
return pic8259_acknowledge(m_pic8259_slave);
|
||||
return m_pic8259_slave->inta_r();
|
||||
|
||||
return 0x00;
|
||||
}
|
||||
@ -30,7 +30,7 @@ const struct pic8259_interface at_pic8259_master_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_NULL
|
||||
};
|
||||
@ -352,7 +352,7 @@ DRIVER_INIT_MEMBER(at_state,atvga)
|
||||
|
||||
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)
|
||||
|
@ -154,7 +154,7 @@ const struct pit8253_config b2m_pit8253_intf =
|
||||
{
|
||||
0,
|
||||
DEVCB_NULL,
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir1_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir1_w)
|
||||
},
|
||||
{
|
||||
2000000,
|
||||
|
@ -178,8 +178,8 @@ void compis_state::fdc_irq(bool state)
|
||||
{
|
||||
if (m_8259m)
|
||||
{
|
||||
pic8259_ir0_w(m_8259m, 1);
|
||||
pic8259_ir0_w(m_8259m, 0);
|
||||
m_8259m->ir0_w(1);
|
||||
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 )
|
||||
{
|
||||
if (offset==2) { // IRQ = 2
|
||||
return pic8259_acknowledge(m_8259s);
|
||||
return m_8259s->inta_r();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -1294,7 +1294,7 @@ const struct pic8259_interface compis_pic8259_slave_config =
|
||||
|
||||
IRQ_CALLBACK_MEMBER(compis_state::compis_irq_callback)
|
||||
{
|
||||
return pic8259_acknowledge(m_8259m);
|
||||
return m_8259m->inta_r();
|
||||
}
|
||||
|
||||
|
||||
|
@ -237,7 +237,7 @@ const struct pit8253_config pc_pit8253_config =
|
||||
{
|
||||
XTAL_14_31818MHz/12, /* heartbeat IRQ */
|
||||
DEVCB_NULL,
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
|
||||
}, {
|
||||
XTAL_14_31818MHz/12, /* dram refresh */
|
||||
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 ( m_ppi_keyboard_clear )
|
||||
{
|
||||
pic8259_ir1_w(m_pic8259, 0);
|
||||
m_pic8259->ir1_w(0);
|
||||
m_ppi_shift_register = 0;
|
||||
m_ppi_shift_enable = 1;
|
||||
}
|
||||
@ -433,12 +433,12 @@ I8255A_INTERFACE( pc_ppi8255_interface )
|
||||
static const isa8bus_interface isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir2_w),
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir3_w),
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir4_w),
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir5_w),
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir6_w),
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir7_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir7_w),
|
||||
|
||||
// dma request
|
||||
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)
|
||||
{
|
||||
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 ( m_ppi_keyboard_clear )
|
||||
{
|
||||
pic8259_ir1_w(m_pic8259, 0);
|
||||
m_pic8259->ir1_w(0);
|
||||
m_ppi_shift_register = 0;
|
||||
m_ppi_shift_enable = 1;
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ const struct pit8253_config irisha_pit8253_intf =
|
||||
{
|
||||
XTAL_16MHz / 9,
|
||||
DEVCB_LINE_VCC,
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
|
||||
},
|
||||
{
|
||||
XTAL_16MHz / 9 / 8 / 8,
|
||||
|
@ -128,7 +128,7 @@ WRITE8_MEMBER(mbc55x_state::mbcpic8259_w)
|
||||
|
||||
IRQ_CALLBACK_MEMBER(mbc55x_state::mbc55x_irq_callback)
|
||||
{
|
||||
return pic8259_acknowledge(m_pic);
|
||||
return m_pic->inta_r();
|
||||
}
|
||||
|
||||
/* PIT8253 Configuration */
|
||||
@ -139,12 +139,12 @@ const struct pit8253_config mbc55x_pit8253_config =
|
||||
{
|
||||
PIT_C0_CLOCK,
|
||||
DEVCB_NULL,
|
||||
DEVCB_DEVICE_LINE(PIC8259_TAG, pic8259_ir0_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER(PIC8259_TAG, pic8259_device, ir0_w)
|
||||
},
|
||||
{
|
||||
PIT_C1_CLOCK,
|
||||
DEVCB_NULL,
|
||||
DEVCB_DEVICE_LINE(PIC8259_TAG, pic8259_ir1_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER(PIC8259_TAG, pic8259_device, ir1_w)
|
||||
},
|
||||
{
|
||||
PIT_C2_CLOCK,
|
||||
@ -298,7 +298,7 @@ const i8251_interface mbc55x_i8251a_interface =
|
||||
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
|
||||
|
@ -397,7 +397,7 @@ const struct pit8253_config ibm5150_pit8253_config =
|
||||
{
|
||||
XTAL_14_31818MHz/12, /* heartbeat IRQ */
|
||||
DEVCB_NULL,
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
|
||||
}, {
|
||||
XTAL_14_31818MHz/12, /* dram refresh */
|
||||
DEVCB_NULL,
|
||||
@ -423,7 +423,7 @@ const struct pit8253_config pcjr_pit8253_config =
|
||||
{
|
||||
XTAL_14_31818MHz/12, /* heartbeat IRQ */
|
||||
DEVCB_NULL,
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
|
||||
}, {
|
||||
XTAL_14_31818MHz/12, /* dram refresh */
|
||||
DEVCB_NULL,
|
||||
@ -444,7 +444,7 @@ const struct pit8253_config mc1502_pit8253_config =
|
||||
{
|
||||
XTAL_16MHz/12, /* heartbeat IRQ */
|
||||
DEVCB_NULL,
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir0_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir0_w)
|
||||
}, {
|
||||
XTAL_16MHz/12, /* serial port */
|
||||
DEVCB_NULL,
|
||||
|
@ -967,7 +967,7 @@ const struct pit8253_config pk8020_pit8253_intf =
|
||||
{
|
||||
(XTAL_20MHz / 8) / 164,
|
||||
DEVCB_NULL,
|
||||
DEVCB_DEVICE_LINE("pic8259", pic8259_ir5_w)
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir5_w)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -86,7 +86,7 @@ static ins8250_interface ace1_intf =
|
||||
{
|
||||
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
|
||||
@ -101,7 +101,7 @@ static ins8250_interface ace2_intf =
|
||||
{
|
||||
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
|
||||
@ -116,7 +116,7 @@ static ins8250_interface ace3_intf =
|
||||
{
|
||||
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
|
||||
@ -132,7 +132,7 @@ WRITE_LINE_MEMBER( s100_wunderbus_device::rtc_tp_w )
|
||||
if (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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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
|
||||
m_rtc_tp = 0;
|
||||
pic8259_ir7_w(m_pic, m_rtc_tp);
|
||||
m_pic->ir7_w(m_rtc_tp);
|
||||
break;
|
||||
|
||||
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 5: // 8259 1 register
|
||||
data = pic8259_r(m_pic, space, offset & 0x01);
|
||||
data = m_pic->read(space, offset & 0x01);
|
||||
break;
|
||||
|
||||
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 5: // 8259 1 register
|
||||
pic8259_w(m_pic, space, offset & 0x01, data);
|
||||
m_pic->write(space, offset & 0x01, data);
|
||||
break;
|
||||
|
||||
case 6: // Par. port cntrl.
|
||||
|
@ -19,7 +19,7 @@ const struct pic8259_interface at_pic8259_master_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_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_A20),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir1_w),
|
||||
DEVCB_NULL,
|
||||
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)
|
||||
@ -90,18 +90,18 @@ static const pc_kbdc_interface pc_kbdc_intf =
|
||||
static const isa16bus_interface isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir2_w), // in place of irq 2 on at irq 9 is used
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir3_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir4_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir5_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir6_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_master", pic8259_ir7_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir2_w), // in place of irq 2 on at irq 9 is used
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_master", pic8259_device, ir7_w),
|
||||
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir3_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir4_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir5_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir6_w),
|
||||
DEVCB_DEVICE_LINE("pic8259_slave", pic8259_ir7_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_slave", pic8259_device, ir7_w),
|
||||
|
||||
// dma request
|
||||
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)
|
||||
{
|
||||
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 )
|
||||
{
|
||||
if (offset==2) // IRQ = 2
|
||||
return pic8259_acknowledge(m_pic8259_slave);
|
||||
return m_pic8259_slave->inta_r();
|
||||
|
||||
return 0x00;
|
||||
}
|
||||
@ -266,7 +266,7 @@ void southbridge_device::at_speaker_set_input(UINT8 data)
|
||||
WRITE_LINE_MEMBER( southbridge_device::at_pit8254_out0_changed )
|
||||
{
|
||||
if (m_pic8259_master)
|
||||
pic8259_ir0_w(m_pic8259_master, state);
|
||||
m_pic8259_master->ir0_w(state);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user