isa8, isa16: Replace MCFG_ macros with devcb3 (nw)

This commit is contained in:
AJR 2018-11-05 21:28:41 -05:00
parent db2b92602f
commit ea753f68cb
21 changed files with 280 additions and 341 deletions

View File

@ -150,17 +150,17 @@ MACHINE_CONFIG_START(a2bus_pcxporter_device::device_add_mconfig)
PIC8259(config, m_pic8259, 0);
m_pic8259->out_int_callback().set_inputline(m_v30, 0);
MCFG_DEVICE_ADD(m_isabus, ISA8, 0)
MCFG_ISA8_CPU(m_v30)
MCFG_ISA_OUT_IRQ2_CB(WRITELINE(m_pic8259, pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE(m_pic8259, pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE(m_pic8259, pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE(m_pic8259, pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE(m_pic8259, pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE(m_pic8259, pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE(m_dma8237, am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE(m_dma8237, am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE(m_dma8237, am9517a_device, dreq3_w))
ISA8(config, m_isabus, 0);
m_isabus->set_cputag(m_v30);
m_isabus->irq2_callback().set(m_pic8259, FUNC(pic8259_device::ir2_w));
m_isabus->irq3_callback().set(m_pic8259, FUNC(pic8259_device::ir3_w));
m_isabus->irq4_callback().set(m_pic8259, FUNC(pic8259_device::ir4_w));
m_isabus->irq5_callback().set(m_pic8259, FUNC(pic8259_device::ir5_w));
m_isabus->irq6_callback().set(m_pic8259, FUNC(pic8259_device::ir6_w));
m_isabus->irq7_callback().set(m_pic8259, FUNC(pic8259_device::ir7_w));
m_isabus->drq1_callback().set(m_dma8237, FUNC(am9517a_device::dreq1_w));
m_isabus->drq2_callback().set(m_dma8237, FUNC(am9517a_device::dreq2_w));
m_isabus->drq3_callback().set(m_dma8237, FUNC(am9517a_device::dreq3_w));
MCFG_DEVICE_ADD(m_pc_kbdc, PC_KBDC, 0)
MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE(*this, a2bus_pcxporter_device, keyboard_clock_w))

View File

@ -70,79 +70,6 @@
#include <forward_list>
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_ISA8_CPU(_cputag) \
downcast<isa8_device &>(*device).set_cputag(_cputag);
// include this in a driver to have ISA allocate it's own address spaces (e.g. non-x86)
#define MCFG_ISA8_BUS_CUSTOM_SPACES() \
downcast<isa8_device &>(*device).set_custom_spaces();
#define MCFG_ISA16_CPU(_cputag) \
downcast<isa8_device &>(*device).set_cputag(_cputag);
#define MCFG_ISA16_BUS_CUSTOM_SPACES() \
downcast<isa8_device &>(*device).set_custom_spaces();
#define MCFG_ISA_BUS_IOCHCK(_iochck) \
downcast<isa8_device *>(device)->set_iochck_callback(DEVCB_##_iochck);
#define MCFG_ISA_OUT_IRQ2_CB(_devcb) \
downcast<isa8_device &>(*device).set_out_irq2_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ3_CB(_devcb) \
downcast<isa8_device &>(*device).set_out_irq3_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ4_CB(_devcb) \
downcast<isa8_device &>(*device).set_out_irq4_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ5_CB(_devcb) \
downcast<isa8_device &>(*device).set_out_irq5_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ6_CB(_devcb) \
downcast<isa8_device &>(*device).set_out_irq6_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ7_CB(_devcb) \
downcast<isa8_device &>(*device).set_out_irq7_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_DRQ1_CB(_devcb) \
downcast<isa8_device &>(*device).set_out_drq1_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_DRQ2_CB(_devcb) \
downcast<isa8_device &>(*device).set_out_drq2_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_DRQ3_CB(_devcb) \
downcast<isa8_device &>(*device).set_out_drq3_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ10_CB(_devcb) \
downcast<isa16_device &>(*device).set_out_irq10_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ11_CB(_devcb) \
downcast<isa16_device &>(*device).set_out_irq11_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ12_CB(_devcb) \
downcast<isa16_device &>(*device).set_out_irq12_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ14_CB(_devcb) \
downcast<isa16_device &>(*device).set_out_irq14_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_IRQ15_CB(_devcb) \
downcast<isa16_device &>(*device).set_out_irq15_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_DRQ0_CB(_devcb) \
downcast<isa16_device &>(*device).set_out_drq0_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_DRQ5_CB(_devcb) \
downcast<isa16_device &>(*device).set_out_drq5_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_DRQ6_CB(_devcb) \
downcast<isa16_device &>(*device).set_out_drq6_callback(DEVCB_##_devcb);
#define MCFG_ISA_OUT_DRQ7_CB(_devcb) \
downcast<isa16_device &>(*device).set_out_drq7_callback(DEVCB_##_devcb);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@ -194,19 +121,22 @@ public:
// construction/destruction
isa8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// inline configuration
template <typename T> void set_cputag(T &&tag) { m_maincpu.set_tag(std::forward<T>(tag)); }
auto iochck_callback() { return m_write_iochck.bind(); }
auto irq2_callback() { return m_out_irq2_cb.bind(); }
auto irq3_callback() { return m_out_irq3_cb.bind(); }
auto irq4_callback() { return m_out_irq4_cb.bind(); }
auto irq5_callback() { return m_out_irq5_cb.bind(); }
auto irq6_callback() { return m_out_irq6_cb.bind(); }
auto irq7_callback() { return m_out_irq7_cb.bind(); }
auto drq1_callback() { return m_out_drq1_cb.bind(); }
auto drq2_callback() { return m_out_drq2_cb.bind(); }
auto drq3_callback() { return m_out_drq3_cb.bind(); }
// include this in a driver to have ISA allocate its own address spaces (e.g. non-x86)
void set_custom_spaces() { m_allocspaces = true; }
template <class Object> devcb_base &set_iochck_callback(Object &&cb) { return m_write_iochck.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq2_callback(Object &&cb) { return m_out_irq2_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq3_callback(Object &&cb) { return m_out_irq3_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq4_callback(Object &&cb) { return m_out_irq4_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq5_callback(Object &&cb) { return m_out_irq5_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq6_callback(Object &&cb) { return m_out_irq6_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq7_callback(Object &&cb) { return m_out_irq7_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_drq1_callback(Object &&cb) { return m_out_drq1_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_drq2_callback(Object &&cb) { return m_out_drq2_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_drq3_callback(Object &&cb) { return m_out_drq3_cb.set_callback(std::forward<Object>(cb)); }
// for ISA8, put the 8-bit configs in the primary slots and the 16-bit configs in the secondary
virtual space_config_vector memory_space_config() const override;
@ -368,15 +298,15 @@ public:
// construction/destruction
isa16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <class Object> devcb_base &set_out_irq10_callback(Object &&cb) { return m_out_irq10_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq11_callback(Object &&cb) { return m_out_irq11_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq12_callback(Object &&cb) { return m_out_irq12_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq14_callback(Object &&cb) { return m_out_irq14_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_irq15_callback(Object &&cb) { return m_out_irq15_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_drq0_callback(Object &&cb) { return m_out_drq0_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_drq5_callback(Object &&cb) { return m_out_drq5_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_drq6_callback(Object &&cb) { return m_out_drq6_cb.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_out_drq7_callback(Object &&cb) { return m_out_drq7_cb.set_callback(std::forward<Object>(cb)); }
auto irq10_callback() { return m_out_irq10_cb.bind(); }
auto irq11_callback() { return m_out_irq11_cb.bind(); }
auto irq12_callback() { return m_out_irq12_cb.bind(); }
auto irq14_callback() { return m_out_irq14_cb.bind(); }
auto irq15_callback() { return m_out_irq15_cb.bind(); }
auto drq0_callback() { return m_out_drq0_cb.bind(); }
auto drq5_callback() { return m_out_drq5_cb.bind(); }
auto drq6_callback() { return m_out_drq6_cb.bind(); }
auto drq7_callback() { return m_out_drq7_cb.bind(); }
void install16_device(offs_t start, offs_t end, read16_delegate rhandler, write16_delegate whandler);

View File

@ -25,7 +25,8 @@
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_START(southbridge_device::device_add_mconfig)
void southbridge_device::device_add_mconfig(machine_config &config)
{
PIT8254(config, m_pit8254, 0);
m_pit8254->set_clk<0>(4772720/4); // heartbeat IRQ
m_pit8254->out_handler<0>().set(FUNC(southbridge_device::at_pit8254_out0_changed));
@ -88,27 +89,27 @@ MACHINE_CONFIG_START(southbridge_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_DEVICE_ADD("isabus", ISA16, 0)
MCFG_ISA16_CPU(":maincpu")
MCFG_ISA_OUT_IRQ3_CB(WRITELINE("pic8259_master", pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE("pic8259_master", pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE("pic8259_master", pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE("pic8259_master", pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE("pic8259_master", pic8259_device, ir7_w))
MCFG_ISA_OUT_IRQ2_CB(WRITELINE("pic8259_slave", pic8259_device, ir1_w)) // in place of irq 2 on at irq 9 is used
MCFG_ISA_OUT_IRQ10_CB(WRITELINE("pic8259_slave", pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ11_CB(WRITELINE("pic8259_slave", pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ12_CB(WRITELINE("pic8259_slave", pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ14_CB(WRITELINE("pic8259_slave", pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ15_CB(WRITELINE("pic8259_slave", pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ0_CB(WRITELINE("dma8237_1", am9517a_device, dreq0_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE("dma8237_1", am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE("dma8237_1", am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE("dma8237_1", am9517a_device, dreq3_w))
MCFG_ISA_OUT_DRQ5_CB(WRITELINE("dma8237_2", am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ6_CB(WRITELINE("dma8237_2", am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ7_CB(WRITELINE("dma8237_2", am9517a_device, dreq3_w))
MACHINE_CONFIG_END
ISA16(config, m_isabus, 0);
m_isabus->set_cputag(":maincpu");
m_isabus->irq3_callback().set("pic8259_master", FUNC(pic8259_device::ir3_w));
m_isabus->irq4_callback().set("pic8259_master", FUNC(pic8259_device::ir4_w));
m_isabus->irq5_callback().set("pic8259_master", FUNC(pic8259_device::ir5_w));
m_isabus->irq6_callback().set("pic8259_master", FUNC(pic8259_device::ir6_w));
m_isabus->irq7_callback().set("pic8259_master", FUNC(pic8259_device::ir7_w));
m_isabus->irq2_callback().set("pic8259_slave", FUNC(pic8259_device::ir1_w)); // in place of irq 2 on at irq 9 is used
m_isabus->irq10_callback().set("pic8259_slave", FUNC(pic8259_device::ir2_w));
m_isabus->irq11_callback().set("pic8259_slave", FUNC(pic8259_device::ir3_w));
m_isabus->irq12_callback().set("pic8259_slave", FUNC(pic8259_device::ir4_w));
m_isabus->irq14_callback().set("pic8259_slave", FUNC(pic8259_device::ir6_w));
m_isabus->irq15_callback().set("pic8259_slave", FUNC(pic8259_device::ir7_w));
m_isabus->drq0_callback().set("dma8237_1", FUNC(am9517a_device::dreq0_w));
m_isabus->drq1_callback().set("dma8237_1", FUNC(am9517a_device::dreq1_w));
m_isabus->drq2_callback().set("dma8237_1", FUNC(am9517a_device::dreq2_w));
m_isabus->drq3_callback().set("dma8237_1", FUNC(am9517a_device::dreq3_w));
m_isabus->drq5_callback().set("dma8237_2", FUNC(am9517a_device::dreq1_w));
m_isabus->drq6_callback().set("dma8237_2", FUNC(am9517a_device::dreq2_w));
m_isabus->drq7_callback().set("dma8237_2", FUNC(am9517a_device::dreq3_w));
}
southbridge_device::southbridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),

View File

@ -444,17 +444,17 @@ MACHINE_CONFIG_START(ibm5160_mb_device::device_add_mconfig)
m_ppi8255->out_pb_callback().set(FUNC(ibm5160_mb_device::pc_ppi_portb_w));
m_ppi8255->in_pc_callback().set(FUNC(ibm5160_mb_device::pc_ppi_portc_r));
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU(":maincpu")
MCFG_ISA_OUT_IRQ2_CB(WRITELINE("pic8259", pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE("pic8259", pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE("pic8259", pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE("pic8259", pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE("pic8259", pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE("pic8259", pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE("dma8237", am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE("dma8237", am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE("dma8237", am9517a_device, dreq3_w))
ISA8(config, m_isabus, 0);
m_isabus->set_cputag(":maincpu");
m_isabus->irq2_callback().set(m_pic8259, FUNC(pic8259_device::ir2_w));
m_isabus->irq3_callback().set(m_pic8259, FUNC(pic8259_device::ir3_w));
m_isabus->irq4_callback().set(m_pic8259, FUNC(pic8259_device::ir4_w));
m_isabus->irq5_callback().set(m_pic8259, FUNC(pic8259_device::ir5_w));
m_isabus->irq6_callback().set(m_pic8259, FUNC(pic8259_device::ir6_w));
m_isabus->irq7_callback().set(m_pic8259, FUNC(pic8259_device::ir7_w));
m_isabus->drq1_callback().set(m_dma8237, FUNC(am9517a_device::dreq1_w));
m_isabus->drq2_callback().set(m_dma8237, FUNC(am9517a_device::dreq2_w));
m_isabus->drq3_callback().set(m_dma8237, FUNC(am9517a_device::dreq3_w));
MCFG_DEVICE_ADD("pc_kbdc", PC_KBDC, 0)
MCFG_PC_KBDC_OUT_CLOCK_CB(WRITELINE(*this, ibm5160_mb_device, keyboard_clock_w))

View File

@ -47,7 +47,8 @@ void i82371sb_isa_device::internal_io_map(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_START(i82371sb_isa_device::device_add_mconfig)
void i82371sb_isa_device::device_add_mconfig(machine_config &config)
{
PIT8254(config, m_pit8254, 0);
m_pit8254->set_clk<0>(4772720/4); // heartbeat IRQ
m_pit8254->out_handler<0>().set(FUNC(i82371sb_isa_device::at_pit8254_out0_changed));
@ -102,27 +103,27 @@ MACHINE_CONFIG_START(i82371sb_isa_device::device_add_mconfig)
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_DEVICE_ADD("isabus", ISA16, 0)
MCFG_ISA16_CPU(":maincpu")
MCFG_ISA_OUT_IRQ3_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq7_w))
MCFG_ISA_OUT_IRQ2_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq9_w))
MCFG_ISA_OUT_IRQ10_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq10_w))
MCFG_ISA_OUT_IRQ11_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq11_w))
MCFG_ISA_OUT_IRQ12_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq12m_w))
MCFG_ISA_OUT_IRQ14_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq14_w))
MCFG_ISA_OUT_IRQ15_CB(WRITELINE(*this, i82371sb_isa_device, pc_irq15_w))
MCFG_ISA_OUT_DRQ0_CB(WRITELINE("dma8237_1", am9517a_device, dreq0_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE("dma8237_1", am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE("dma8237_1", am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE("dma8237_1", am9517a_device, dreq3_w))
MCFG_ISA_OUT_DRQ5_CB(WRITELINE("dma8237_2", am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ6_CB(WRITELINE("dma8237_2", am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ7_CB(WRITELINE("dma8237_2", am9517a_device, dreq3_w))
MACHINE_CONFIG_END
ISA16(config, m_isabus, 0);
m_isabus->set_cputag(":maincpu");
m_isabus->irq3_callback().set(FUNC(i82371sb_isa_device::pc_irq3_w));
m_isabus->irq4_callback().set(FUNC(i82371sb_isa_device::pc_irq4_w));
m_isabus->irq5_callback().set(FUNC(i82371sb_isa_device::pc_irq5_w));
m_isabus->irq6_callback().set(FUNC(i82371sb_isa_device::pc_irq6_w));
m_isabus->irq7_callback().set(FUNC(i82371sb_isa_device::pc_irq7_w));
m_isabus->irq2_callback().set(FUNC(i82371sb_isa_device::pc_irq9_w));
m_isabus->irq10_callback().set(FUNC(i82371sb_isa_device::pc_irq10_w));
m_isabus->irq11_callback().set(FUNC(i82371sb_isa_device::pc_irq11_w));
m_isabus->irq12_callback().set(FUNC(i82371sb_isa_device::pc_irq12m_w));
m_isabus->irq14_callback().set(FUNC(i82371sb_isa_device::pc_irq14_w));
m_isabus->irq15_callback().set(FUNC(i82371sb_isa_device::pc_irq15_w));
m_isabus->drq0_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq0_w));
m_isabus->drq1_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq1_w));
m_isabus->drq2_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq2_w));
m_isabus->drq3_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq3_w));
m_isabus->drq5_callback().set(m_dma8237_2, FUNC(am9517a_device::dreq1_w));
m_isabus->drq6_callback().set(m_dma8237_2, FUNC(am9517a_device::dreq2_w));
m_isabus->drq7_callback().set(m_dma8237_2, FUNC(am9517a_device::dreq3_w));
}
i82371sb_isa_device::i82371sb_isa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
pci_device(mconfig, I82371SB_ISA, tag, owner, clock),

View File

@ -515,8 +515,8 @@ MACHINE_CONFIG_START(_4enlinea_state::_4enlinea)
MCFG_DEVICE_PERIODIC_INT_DRIVER(_4enlinea_state, _4enlinea_audio_irq, 60) //TODO
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU("maincpu")
ISA8(config, "isa", 0).set_cputag("maincpu");
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", _4enlinea_isa8_cards, "4enlinea", true)

View File

@ -654,27 +654,28 @@ MACHINE_CONFIG_START(megapc_state::megapc)
m_wd7600->spkr_callback().set(FUNC(megapc_state::wd7600_spkr));
// on board devices
MCFG_DEVICE_ADD("isabus", ISA16, 0)
MCFG_ISA16_CPU("maincpu")
MCFG_ISA_BUS_IOCHCK(WRITELINE("wd7600", wd7600_device, iochck_w))
MCFG_ISA_OUT_IRQ2_CB(WRITELINE("wd7600", wd7600_device, irq09_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE("wd7600", wd7600_device, irq03_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE("wd7600", wd7600_device, irq04_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE("wd7600", wd7600_device, irq05_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE("wd7600", wd7600_device, irq06_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE("wd7600", wd7600_device, irq07_w))
MCFG_ISA_OUT_IRQ10_CB(WRITELINE("wd7600", wd7600_device, irq10_w))
MCFG_ISA_OUT_IRQ11_CB(WRITELINE("wd7600", wd7600_device, irq11_w))
MCFG_ISA_OUT_IRQ12_CB(WRITELINE("wd7600", wd7600_device, irq12_w))
MCFG_ISA_OUT_IRQ14_CB(WRITELINE("wd7600", wd7600_device, irq14_w))
MCFG_ISA_OUT_IRQ15_CB(WRITELINE("wd7600", wd7600_device, irq15_w))
MCFG_ISA_OUT_DRQ0_CB(WRITELINE("wd7600", wd7600_device, dreq0_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE("wd7600", wd7600_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE("wd7600", wd7600_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE("wd7600", wd7600_device, dreq3_w))
MCFG_ISA_OUT_DRQ5_CB(WRITELINE("wd7600", wd7600_device, dreq5_w))
MCFG_ISA_OUT_DRQ6_CB(WRITELINE("wd7600", wd7600_device, dreq6_w))
MCFG_ISA_OUT_DRQ7_CB(WRITELINE("wd7600", wd7600_device, dreq7_w))
ISA16(config, m_isabus, 0);
m_isabus->set_cputag("maincpu");
m_isabus->iochck_callback().set(m_wd7600, FUNC(wd7600_device::iochck_w));
m_isabus->irq2_callback().set(m_wd7600, FUNC(wd7600_device::irq09_w));
m_isabus->irq3_callback().set(m_wd7600, FUNC(wd7600_device::irq03_w));
m_isabus->irq4_callback().set(m_wd7600, FUNC(wd7600_device::irq04_w));
m_isabus->irq5_callback().set(m_wd7600, FUNC(wd7600_device::irq05_w));
m_isabus->irq6_callback().set(m_wd7600, FUNC(wd7600_device::irq06_w));
m_isabus->irq7_callback().set(m_wd7600, FUNC(wd7600_device::irq07_w));
m_isabus->irq10_callback().set(m_wd7600, FUNC(wd7600_device::irq10_w));
m_isabus->irq11_callback().set(m_wd7600, FUNC(wd7600_device::irq11_w));
m_isabus->irq12_callback().set(m_wd7600, FUNC(wd7600_device::irq12_w));
m_isabus->irq14_callback().set(m_wd7600, FUNC(wd7600_device::irq14_w));
m_isabus->irq15_callback().set(m_wd7600, FUNC(wd7600_device::irq15_w));
m_isabus->drq0_callback().set(m_wd7600, FUNC(wd7600_device::dreq0_w));
m_isabus->drq1_callback().set(m_wd7600, FUNC(wd7600_device::dreq1_w));
m_isabus->drq2_callback().set(m_wd7600, FUNC(wd7600_device::dreq2_w));
m_isabus->drq3_callback().set(m_wd7600, FUNC(wd7600_device::dreq3_w));
m_isabus->drq5_callback().set(m_wd7600, FUNC(wd7600_device::dreq5_w));
m_isabus->drq6_callback().set(m_wd7600, FUNC(wd7600_device::dreq6_w));
m_isabus->drq7_callback().set(m_wd7600, FUNC(wd7600_device::dreq7_w));
MCFG_DEVICE_ADD("board1",ISA16_SLOT, 0, "isabus", pc_isa16_cards, "fdcsmc", true) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("board2",ISA16_SLOT, 0, "isabus", pc_isa16_cards, "comat", true)
MCFG_DEVICE_ADD("board3",ISA16_SLOT, 0, "isabus", pc_isa16_cards, "ide", true)

View File

@ -144,27 +144,27 @@ MACHINE_CONFIG_START(ct486_state::ct486)
MCFG_PC_KBDC_OUT_DATA_CB(WRITELINE("keybc", at_kbc_device_base, kbd_data_w))
MCFG_PC_KBDC_SLOT_ADD("pc_kbdc", "kbd", pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL)
MCFG_DEVICE_ADD("isabus", ISA16, 0)
MCFG_ISA16_CPU("maincpu")
MCFG_ISA_BUS_IOCHCK(WRITELINE("cs4031", cs4031_device, iochck_w))
MCFG_ISA_OUT_IRQ2_CB(WRITELINE("cs4031", cs4031_device, irq09_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE("cs4031", cs4031_device, irq03_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE("cs4031", cs4031_device, irq04_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE("cs4031", cs4031_device, irq05_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE("cs4031", cs4031_device, irq06_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE("cs4031", cs4031_device, irq07_w))
MCFG_ISA_OUT_IRQ10_CB(WRITELINE("cs4031", cs4031_device, irq10_w))
MCFG_ISA_OUT_IRQ11_CB(WRITELINE("cs4031", cs4031_device, irq11_w))
MCFG_ISA_OUT_IRQ12_CB(WRITELINE("cs4031", cs4031_device, irq12_w))
MCFG_ISA_OUT_IRQ14_CB(WRITELINE("cs4031", cs4031_device, irq14_w))
MCFG_ISA_OUT_IRQ15_CB(WRITELINE("cs4031", cs4031_device, irq15_w))
MCFG_ISA_OUT_DRQ0_CB(WRITELINE("cs4031", cs4031_device, dreq0_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE("cs4031", cs4031_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE("cs4031", cs4031_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE("cs4031", cs4031_device, dreq3_w))
MCFG_ISA_OUT_DRQ5_CB(WRITELINE("cs4031", cs4031_device, dreq5_w))
MCFG_ISA_OUT_DRQ6_CB(WRITELINE("cs4031", cs4031_device, dreq6_w))
MCFG_ISA_OUT_DRQ7_CB(WRITELINE("cs4031", cs4031_device, dreq7_w))
ISA16(config, m_isabus, 0);
m_isabus->set_cputag("maincpu");
m_isabus->iochck_callback().set(m_cs4031, FUNC(cs4031_device::iochck_w));
m_isabus->irq2_callback().set(m_cs4031, FUNC(cs4031_device::irq09_w));
m_isabus->irq3_callback().set(m_cs4031, FUNC(cs4031_device::irq03_w));
m_isabus->irq4_callback().set(m_cs4031, FUNC(cs4031_device::irq04_w));
m_isabus->irq5_callback().set(m_cs4031, FUNC(cs4031_device::irq05_w));
m_isabus->irq6_callback().set(m_cs4031, FUNC(cs4031_device::irq06_w));
m_isabus->irq7_callback().set(m_cs4031, FUNC(cs4031_device::irq07_w));
m_isabus->irq10_callback().set(m_cs4031, FUNC(cs4031_device::irq10_w));
m_isabus->irq11_callback().set(m_cs4031, FUNC(cs4031_device::irq11_w));
m_isabus->irq12_callback().set(m_cs4031, FUNC(cs4031_device::irq12_w));
m_isabus->irq14_callback().set(m_cs4031, FUNC(cs4031_device::irq14_w));
m_isabus->irq15_callback().set(m_cs4031, FUNC(cs4031_device::irq15_w));
m_isabus->drq0_callback().set(m_cs4031, FUNC(cs4031_device::dreq0_w));
m_isabus->drq1_callback().set(m_cs4031, FUNC(cs4031_device::dreq1_w));
m_isabus->drq2_callback().set(m_cs4031, FUNC(cs4031_device::dreq2_w));
m_isabus->drq3_callback().set(m_cs4031, FUNC(cs4031_device::dreq3_w));
m_isabus->drq5_callback().set(m_cs4031, FUNC(cs4031_device::dreq5_w));
m_isabus->drq6_callback().set(m_cs4031, FUNC(cs4031_device::dreq6_w));
m_isabus->drq7_callback().set(m_cs4031, FUNC(cs4031_device::dreq7_w));
MCFG_DEVICE_ADD("board1", ISA16_SLOT, 0, "isabus", pc_isa16_cards, "fdcsmc", true)
MCFG_DEVICE_ADD("board2", ISA16_SLOT, 0, "isabus", pc_isa16_cards, "comat", true)
MCFG_DEVICE_ADD("board3", ISA16_SLOT, 0, "isabus", pc_isa16_cards, "ide", true)

View File

@ -131,17 +131,17 @@ MACHINE_CONFIG_START(fruitpc_state::fruitpc)
m_dma8237_1->out_iow_callback<1>().set(FUNC(fruitpc_state::dma8237_1_dack_w));
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU("maincpu")
MCFG_ISA_OUT_IRQ2_CB(WRITELINE("pic8259_2", pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE("pic8259_1", pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE("pic8259_1", pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE("pic8259_1", pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE("pic8259_1", pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE("pic8259_1", pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE("dma8237_1", am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE("dma8237_1", am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE("dma8237_1", am9517a_device, dreq3_w))
ISA8(config, m_isabus, 0);
m_isabus->set_cputag("maincpu");
m_isabus->irq2_callback().set("pic8259_2", FUNC(pic8259_device::ir2_w));
m_isabus->irq3_callback().set("pic8259_1", FUNC(pic8259_device::ir3_w));
m_isabus->irq4_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w));
m_isabus->irq5_callback().set("pic8259_1", FUNC(pic8259_device::ir5_w));
m_isabus->irq6_callback().set("pic8259_1", FUNC(pic8259_device::ir6_w));
m_isabus->irq7_callback().set("pic8259_1", FUNC(pic8259_device::ir7_w));
m_isabus->drq1_callback().set("dma8237_1", FUNC(am9517a_device::dreq1_w));
m_isabus->drq2_callback().set("dma8237_1", FUNC(am9517a_device::dreq2_w));
m_isabus->drq3_callback().set("dma8237_1", FUNC(am9517a_device::dreq3_w));
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", fruitpc_isa8_cards, "sb15", true)

View File

@ -100,9 +100,10 @@ MACHINE_CONFIG_START(indiana_state::indiana)
MCFG_DEVICE_PROGRAM_MAP(indiana_mem)
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD(ISABUS_TAG, ISA16, 0)
MCFG_ISA16_CPU(M68K_TAG)
MCFG_ISA16_BUS_CUSTOM_SPACES()
isa16_device &isa(ISA16(config, ISABUS_TAG, 0));
isa.set_cputag(M68K_TAG);
isa.set_custom_spaces();
MCFG_DEVICE_ADD("isa1", ISA16_SLOT, 0, ISABUS_TAG, indiana_isa_cards, "vga", false)
MCFG_DEVICE_ADD("isa2", ISA16_SLOT, 0, ISABUS_TAG, indiana_isa_cards, "fdc_at", false)
MCFG_DEVICE_ADD("isa3", ISA16_SLOT, 0, ISABUS_TAG, indiana_isa_cards, "comat", false)

View File

@ -216,17 +216,17 @@ MACHINE_CONFIG_START(magtouch_state::magtouch)
m_dma8237_1->out_iow_callback<1>().set(FUNC(magtouch_state::dma8237_1_dack_w));
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU("maincpu")
MCFG_ISA_OUT_IRQ2_CB(WRITELINE("pic8259_2", pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE("pic8259_1", pic8259_device, ir3_w))
//MCFG_ISA_OUT_IRQ4_CB(WRITELINE("pic8259_1", pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE("pic8259_1", pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE("pic8259_1", pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE("pic8259_1", pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE("dma8237_1", am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE("dma8237_1", am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE("dma8237_1", am9517a_device, dreq3_w))
ISA8(config, m_isabus, 0);
m_isabus->set_cputag("maincpu");
m_isabus->irq2_callback().set("pic8259_2", FUNC(pic8259_device::ir2_w));
m_isabus->irq3_callback().set("pic8259_1", FUNC(pic8259_device::ir3_w));
//m_isabus->irq4_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w));
m_isabus->irq5_callback().set("pic8259_1", FUNC(pic8259_device::ir5_w));
m_isabus->irq6_callback().set("pic8259_1", FUNC(pic8259_device::ir6_w));
m_isabus->irq7_callback().set("pic8259_1", FUNC(pic8259_device::ir7_w));
m_isabus->drq1_callback().set("dma8237_1", FUNC(am9517a_device::dreq1_w));
m_isabus->drq2_callback().set("dma8237_1", FUNC(am9517a_device::dreq2_w));
m_isabus->drq3_callback().set("dma8237_1", FUNC(am9517a_device::dreq3_w));
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", magtouch_isa8_cards, "sb15", true)

View File

@ -330,10 +330,10 @@ MACHINE_CONFIG_START(mbc55x_state::mbc55x)
/* Software list */
MCFG_SOFTWARE_LIST_ADD("disk_list","mbc55x")
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU(m_maincpu)
MCFG_ISA_OUT_IRQ7_CB(WRITELINE(m_pic, pic8259_device, ir7_w)) // all other IRQ and DRQ lines are NC
//MCFG_ISA_BUS_IOCHCK(INPUTLINE(m_maincpu, INPUT_LINE_NMI))
isa8_device &isa(ISA8(config, "isa", 0));
isa.set_cputag(m_maincpu);
isa.irq7_callback().set(m_pic, FUNC(pic8259_device::ir7_w)); // all other IRQ and DRQ lines are NC
//isa.iochck_callback().set_inputline(m_maincpu, INPUT_LINE_NMI));
ISA8_SLOT(config, "external", 0, "isa", pc_isa8_cards, nullptr, false);

View File

@ -275,14 +275,14 @@ MACHINE_CONFIG_START(mc1502_state::mc1502)
rs232.dsr_handler().set(m_upd8251, FUNC(i8251_device::write_dsr));
rs232.cts_handler().set(m_upd8251, FUNC(i8251_device::write_cts));
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU("maincpu")
MCFG_ISA_OUT_IRQ2_CB(WRITELINE(m_pic8259, pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE(m_pic8259, pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE(m_pic8259, pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE(m_pic8259, pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE(m_pic8259, pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE(m_pic8259, pic8259_device, ir7_w))
isa8_device &isa(ISA8(config, "isa", 0));
isa.set_cputag("maincpu");
isa.irq2_callback().set(m_pic8259, FUNC(pic8259_device::ir2_w));
isa.irq3_callback().set(m_pic8259, FUNC(pic8259_device::ir3_w));
isa.irq4_callback().set(m_pic8259, FUNC(pic8259_device::ir4_w));
isa.irq5_callback().set(m_pic8259, FUNC(pic8259_device::ir5_w));
isa.irq6_callback().set(m_pic8259, FUNC(pic8259_device::ir6_w));
isa.irq7_callback().set(m_pic8259, FUNC(pic8259_device::ir7_w));
MCFG_DEVICE_ADD("board0", ISA8_SLOT, 0, "isa", mc1502_isa8_cards, "cga_mc1502", true) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", mc1502_isa8_cards, "fdc", false)

View File

@ -985,18 +985,19 @@ MACHINE_CONFIG_START(myb3k_state::myb3k)
MCFG_MC6845_UPDATE_ROW_CB(myb3k_state, crtc_update_row)
/* ISA8+ Expansion bus */
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU("maincpu")
MCFG_ISA_OUT_IRQ2_CB(WRITELINE(m_pic8259, pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE(m_pic8259, pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE(m_pic8259, pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE(*this, myb3k_state, isa_irq5_w)) // Jumper J4 selectable
MCFG_ISA_OUT_IRQ6_CB(WRITELINE(m_pic8259, pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE(*this, myb3k_state, isa_irq7_w)) // Jumper J5 selectable
//MCFG_ISA_OUT_DRQ0_CB(WRITELINE("dma", i8257_device, dreq0_w)) // Part of ISA16 but not ISA8 standard but implemented on ISA8 B8 (SRDY) on this motherboard
MCFG_ISA_OUT_DRQ1_CB(WRITELINE("dma", i8257_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE("dma", i8257_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE("dma", i8257_device, dreq3_w))
ISA8(config, m_isabus, 0);
m_isabus->set_cputag("maincpu");
m_isabus->irq2_callback().set(m_pic8259, FUNC(pic8259_device::ir2_w));
m_isabus->irq3_callback().set(m_pic8259, FUNC(pic8259_device::ir3_w));
m_isabus->irq4_callback().set(m_pic8259, FUNC(pic8259_device::ir4_w));
m_isabus->irq5_callback().set(FUNC(myb3k_state::isa_irq5_w)); // Jumper J4 selectable
m_isabus->irq6_callback().set(m_pic8259, FUNC(pic8259_device::ir6_w));
m_isabus->irq7_callback().set(FUNC(myb3k_state::isa_irq7_w)); // Jumper J5 selectable
//m_isabus->drq0_callback().set("dma", FUNC(i8257_device::dreq0_w)); // Part of ISA16 but not ISA8 standard but implemented on ISA8 B8 (SRDY) on this motherboard
m_isabus->drq1_callback().set("dma", FUNC(i8257_device::dreq1_w));
m_isabus->drq2_callback().set("dma", FUNC(i8257_device::dreq2_w));
m_isabus->drq3_callback().set("dma", FUNC(i8257_device::dreq3_w));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", stepone_isa_cards, "myb3k_fdc4711", false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "isa", stepone_isa_cards, "myb3k_com", false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "isa", stepone_isa_cards, nullptr, false)

View File

@ -1238,17 +1238,17 @@ MACHINE_CONFIG_START(pc1512_state::pc1512)
rs232.cts_handler().set(m_uart, FUNC(ins8250_uart_device::cts_w));
// ISA8 bus
MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0)
MCFG_ISA8_CPU(I8086_TAG)
MCFG_ISA_OUT_IRQ2_CB(WRITELINE(m_pic, pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE(m_pic, pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE(m_pic, pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE(m_pic, pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE(m_pic, pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE(m_pic, pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE(I8237A5_TAG, am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE(I8237A5_TAG, am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE(I8237A5_TAG, am9517a_device, dreq3_w))
isa8_device &isa(ISA8(config, ISA_BUS_TAG, 0));
isa.set_cputag(I8086_TAG);
isa.irq2_callback().set(m_pic, FUNC(pic8259_device::ir2_w));
isa.irq3_callback().set(m_pic, FUNC(pic8259_device::ir3_w));
isa.irq4_callback().set(m_pic, FUNC(pic8259_device::ir4_w));
isa.irq5_callback().set(m_pic, FUNC(pic8259_device::ir5_w));
isa.irq6_callback().set(m_pic, FUNC(pic8259_device::ir6_w));
isa.irq7_callback().set(m_pic, FUNC(pic8259_device::ir7_w));
isa.drq1_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq1_w));
isa.drq2_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq2_w));
isa.drq3_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq3_w));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false) // FIXME: determine ISA clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false)
@ -1369,17 +1369,17 @@ MACHINE_CONFIG_START(pc1640_state::pc1640)
rs232.cts_handler().set(m_uart, FUNC(ins8250_uart_device::cts_w));
// ISA8 bus
MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0)
MCFG_ISA8_CPU(I8086_TAG)
MCFG_ISA_OUT_IRQ2_CB(WRITELINE(m_pic, pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE(m_pic, pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE(m_pic, pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE(m_pic, pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE(m_pic, pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE(m_pic, pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE(I8237A5_TAG, am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE(I8237A5_TAG, am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE(I8237A5_TAG, am9517a_device, dreq3_w))
isa8_device &isa(ISA8(config, ISA_BUS_TAG, 0));
isa.set_cputag(I8086_TAG);
isa.irq2_callback().set(m_pic, FUNC(pic8259_device::ir2_w));
isa.irq3_callback().set(m_pic, FUNC(pic8259_device::ir3_w));
isa.irq4_callback().set(m_pic, FUNC(pic8259_device::ir4_w));
isa.irq5_callback().set(m_pic, FUNC(pic8259_device::ir5_w));
isa.irq6_callback().set(m_pic, FUNC(pic8259_device::ir6_w));
isa.irq7_callback().set(m_pic, FUNC(pic8259_device::ir7_w));
isa.drq1_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq1_w));
isa.drq2_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq2_w));
isa.drq3_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq3_w));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false)

View File

@ -205,17 +205,17 @@ MACHINE_CONFIG_START(pcat_dyn_state::pcat_dyn)
serport.ri_handler().set("ns16550", FUNC(ins8250_uart_device::ri_w));
serport.cts_handler().set("ns16550", FUNC(ins8250_uart_device::cts_w));
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU("maincpu")
MCFG_ISA_OUT_IRQ2_CB(WRITELINE("pic8259_2", pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE("pic8259_1", pic8259_device, ir3_w))
//MCFG_ISA_OUT_IRQ4_CB(WRITELINE("pic8259_1", pic8259_device, ir4_w))
//MCFG_ISA_OUT_IRQ5_CB(WRITELINE("pic8259_1", pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE("pic8259_1", pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE("pic8259_1", pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE("dma8237_1", am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE("dma8237_1", am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE("dma8237_1", am9517a_device, dreq3_w))
ISA8(config, m_isabus, 0);
m_isabus->set_cputag("maincpu");
m_isabus->irq2_callback().set("pic8259_2", FUNC(pic8259_device::ir2_w));
m_isabus->irq3_callback().set("pic8259_1", FUNC(pic8259_device::ir3_w));
//m_isabus->irq4_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w));
//m_isabus->irq5_callback().set("pic8259_1", FUNC(pic8259_device::ir5_w));
m_isabus->irq6_callback().set("pic8259_1", FUNC(pic8259_device::ir6_w));
m_isabus->irq7_callback().set("pic8259_1", FUNC(pic8259_device::ir7_w));
m_isabus->drq1_callback().set("dma8237_1", FUNC(am9517a_device::dreq1_w));
m_isabus->drq2_callback().set("dma8237_1", FUNC(am9517a_device::dreq2_w));
m_isabus->drq3_callback().set("dma8237_1", FUNC(am9517a_device::dreq3_w));
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", pcat_dyn_isa8_cards, "sb15", true)

View File

@ -678,13 +678,14 @@ MACHINE_CONFIG_START(p1_state::poisk1)
m_ppi8255n2->out_pb_callback().set(FUNC(p1_state::p1_ppi2_portb_w)); /*61H*/
m_ppi8255n2->in_pc_callback().set(FUNC(p1_state::p1_ppi2_portc_r)); /*62H*/
MCFG_DEVICE_ADD("isa", ISA8, 0)
MCFG_ISA8_CPU("maincpu")
MCFG_ISA_OUT_IRQ2_CB(WRITELINE(m_pic8259, pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ3_CB(WRITELINE(m_pic8259, pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE(m_pic8259, pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE(m_pic8259, pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE(m_pic8259, pic8259_device, ir7_w))
ISA8(config, m_isabus, 0);
m_isabus->set_cputag("maincpu");
m_isabus->irq2_callback().set(m_pic8259, FUNC(pic8259_device::ir2_w));
m_isabus->irq3_callback().set(m_pic8259, FUNC(pic8259_device::ir3_w));
m_isabus->irq4_callback().set(m_pic8259, FUNC(pic8259_device::ir4_w));
m_isabus->irq5_callback().set(m_pic8259, FUNC(pic8259_device::ir5_w));
m_isabus->irq7_callback().set(m_pic8259, FUNC(pic8259_device::ir7_w));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", p1_isa8_cards, "fdc", false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "isa", p1_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "isa", p1_isa8_cards, nullptr, false)

View File

@ -425,10 +425,11 @@ MACHINE_CONFIG_START(pt68k4_state::pt68k2)
MCFG_FLOPPY_DRIVE_ADD(m_floppy_connector[0], pt68k_floppies, "525dd", pt68k4_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(m_floppy_connector[1], pt68k_floppies, "525dd", pt68k4_state::floppy_formats)
MCFG_DEVICE_ADD(ISABUS_TAG, ISA8, 0)
MCFG_ISA8_CPU(M68K_TAG)
MCFG_ISA8_BUS_CUSTOM_SPACES()
MCFG_ISA_OUT_IRQ5_CB(WRITELINE(*this, pt68k4_state, irq5_w))
ISA8(config, m_isa, 0);
m_isa->set_cputag(M68K_TAG);
m_isa->set_custom_spaces();
m_isa->irq5_callback().set(FUNC(pt68k4_state::irq5_w));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, ISABUS_TAG, pt68k4_isa8_cards, "cga", false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, ISABUS_TAG, pt68k4_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, ISABUS_TAG, pt68k4_isa8_cards, nullptr, false)
@ -462,9 +463,10 @@ MACHINE_CONFIG_START(pt68k4_state::pt68k4)
MCFG_DEVICE_ADD(TIMEKEEPER_TAG, M48T02, 0)
MCFG_DEVICE_ADD(ISABUS_TAG, ISA8, 0)
MCFG_ISA8_CPU(M68K_TAG)
MCFG_ISA8_BUS_CUSTOM_SPACES()
ISA8(config, m_isa, 0);
m_isa->set_cputag(M68K_TAG);
m_isa->set_custom_spaces();
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, ISABUS_TAG, pt68k4_isa8_cards, "fdc_at", false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, ISABUS_TAG, pt68k4_isa8_cards, "cga", false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, ISABUS_TAG, pt68k4_isa8_cards, nullptr, false)

View File

@ -835,8 +835,8 @@ MACHINE_CONFIG_START(savquest_state::savquest)
/* sound hardware */
MCFG_DEVICE_ADD("isa", ISA16, 0) // FIXME: determine ISA bus clock
MCFG_ISA16_CPU("maincpu")
isa16_device &isa(ISA16(config, "isa", 0)); // FIXME: determine ISA bus clock
isa.set_cputag("maincpu");
MCFG_DEVICE_ADD("isa1", ISA16_SLOT, 0, "isa", savquest_isa16_cards, "sb16", false)
/* video hardware */

View File

@ -1113,27 +1113,28 @@ MACHINE_CONFIG_START(apollo_state::common)
MCFG_APOLLO_SIO_ADD(APOLLO_SIO2_TAG, 3.6864_MHz_XTAL)
MCFG_APOLLO_SIO_IRQ_CALLBACK(WRITELINE(*this, apollo_state, sio2_irq_handler))
MCFG_DEVICE_ADD(APOLLO_ISA_TAG, ISA16, 0)
MCFG_ISA16_CPU(MAINCPU)
MCFG_ISA16_BUS_CUSTOM_SPACES()
MCFG_ISA_OUT_IRQ2_CB(WRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
MCFG_ISA_OUT_IRQ3_CB(WRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir7_w))
MCFG_ISA_OUT_IRQ10_CB(WRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir2_w))
MCFG_ISA_OUT_IRQ11_CB(WRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ12_CB(WRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ14_CB(WRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ15_CB(WRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ0_CB(WRITELINE(APOLLO_DMA1_TAG, am9517a_device, dreq0_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE(APOLLO_DMA1_TAG, am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE(APOLLO_DMA1_TAG, am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE(APOLLO_DMA1_TAG, am9517a_device, dreq3_w))
MCFG_ISA_OUT_DRQ5_CB(WRITELINE(APOLLO_DMA2_TAG, am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ6_CB(WRITELINE(APOLLO_DMA2_TAG, am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ7_CB(WRITELINE(APOLLO_DMA2_TAG, am9517a_device, dreq3_w))
ISA16(config, m_isa, 0);
m_isa->set_cputag(MAINCPU);
m_isa->set_custom_spaces();
m_isa->irq2_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir2_w)); // in place of irq 2 on at irq 9 is used
m_isa->irq3_callback().set(m_pic8259_master, FUNC(pic8259_device::ir3_w));
m_isa->irq4_callback().set(m_pic8259_master, FUNC(pic8259_device::ir4_w));
m_isa->irq5_callback().set(m_pic8259_master, FUNC(pic8259_device::ir5_w));
m_isa->irq6_callback().set(m_pic8259_master, FUNC(pic8259_device::ir6_w));
m_isa->irq7_callback().set(m_pic8259_master, FUNC(pic8259_device::ir7_w));
m_isa->irq10_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir2_w));
m_isa->irq11_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir3_w));
m_isa->irq12_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir4_w));
m_isa->irq14_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir6_w));
m_isa->irq15_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir7_w));
m_isa->drq0_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq0_w));
m_isa->drq1_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq1_w));
m_isa->drq2_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq2_w));
m_isa->drq3_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq3_w));
m_isa->drq5_callback().set(m_dma8237_2, FUNC(am9517a_device::dreq1_w));
m_isa->drq6_callback().set(m_dma8237_2, FUNC(am9517a_device::dreq2_w));
m_isa->drq7_callback().set(m_dma8237_2, FUNC(am9517a_device::dreq3_w));
MCFG_DEVICE_ADD("isa1", ISA16_SLOT, 0, APOLLO_ISA_TAG, apollo_isa_cards, "wdc", false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA16_SLOT, 0, APOLLO_ISA_TAG, apollo_isa_cards, "ctape", false)
MCFG_DEVICE_ADD("isa3", ISA16_SLOT, 0, APOLLO_ISA_TAG, apollo_isa_cards, "3c505", false)

View File

@ -104,26 +104,26 @@ MACHINE_CONFIG_START(at_mb_device::device_add_mconfig)
m_pic8259_slave->out_int_callback().set("pic8259_master", FUNC(pic8259_device::ir2_w));
m_pic8259_slave->in_sp_callback().set_constant(0);
MCFG_DEVICE_ADD("isabus", ISA16, 0)
MCFG_ISA16_CPU(":maincpu")
MCFG_ISA_OUT_IRQ2_CB(WRITELINE(m_pic8259_slave, pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
MCFG_ISA_OUT_IRQ3_CB(WRITELINE("pic8259_master", pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ4_CB(WRITELINE("pic8259_master", pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ5_CB(WRITELINE("pic8259_master", pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ6_CB(WRITELINE("pic8259_master", pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ7_CB(WRITELINE("pic8259_master", pic8259_device, ir7_w))
MCFG_ISA_OUT_IRQ10_CB(WRITELINE(m_pic8259_slave, pic8259_device, ir3_w))
MCFG_ISA_OUT_IRQ11_CB(WRITELINE(m_pic8259_slave, pic8259_device, ir4_w))
MCFG_ISA_OUT_IRQ12_CB(WRITELINE(m_pic8259_slave, pic8259_device, ir5_w))
MCFG_ISA_OUT_IRQ14_CB(WRITELINE(m_pic8259_slave, pic8259_device, ir6_w))
MCFG_ISA_OUT_IRQ15_CB(WRITELINE(m_pic8259_slave, pic8259_device, ir7_w))
MCFG_ISA_OUT_DRQ0_CB(WRITELINE(m_dma8237_1, am9517a_device, dreq0_w))
MCFG_ISA_OUT_DRQ1_CB(WRITELINE(m_dma8237_1, am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ2_CB(WRITELINE(m_dma8237_1, am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ3_CB(WRITELINE(m_dma8237_1, am9517a_device, dreq3_w))
MCFG_ISA_OUT_DRQ5_CB(WRITELINE(m_dma8237_2, am9517a_device, dreq1_w))
MCFG_ISA_OUT_DRQ6_CB(WRITELINE(m_dma8237_2, am9517a_device, dreq2_w))
MCFG_ISA_OUT_DRQ7_CB(WRITELINE(m_dma8237_2, am9517a_device, dreq3_w))
ISA16(config, m_isabus, 0);
m_isabus->set_cputag(":maincpu");
m_isabus->irq2_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir2_w)); // in place of irq 2 on at irq 9 is used
m_isabus->irq3_callback().set("pic8259_master", FUNC(pic8259_device::ir3_w));
m_isabus->irq4_callback().set("pic8259_master", FUNC(pic8259_device::ir4_w));
m_isabus->irq5_callback().set("pic8259_master", FUNC(pic8259_device::ir5_w));
m_isabus->irq6_callback().set("pic8259_master", FUNC(pic8259_device::ir6_w));
m_isabus->irq7_callback().set("pic8259_master", FUNC(pic8259_device::ir7_w));
m_isabus->irq10_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir3_w));
m_isabus->irq11_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir4_w));
m_isabus->irq12_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir5_w));
m_isabus->irq14_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir6_w));
m_isabus->irq15_callback().set(m_pic8259_slave, FUNC(pic8259_device::ir7_w));
m_isabus->drq0_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq0_w));
m_isabus->drq1_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq1_w));
m_isabus->drq2_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq2_w));
m_isabus->drq3_callback().set(m_dma8237_1, FUNC(am9517a_device::dreq3_w));
m_isabus->drq5_callback().set(m_dma8237_2, FUNC(am9517a_device::dreq1_w));
m_isabus->drq6_callback().set(m_dma8237_2, FUNC(am9517a_device::dreq2_w));
m_isabus->drq7_callback().set(m_dma8237_2, FUNC(am9517a_device::dreq3_w));
MC146818(config, m_mc146818, 32.768_kHz_XTAL);
m_mc146818->irq().set(m_pic8259_slave, FUNC(pic8259_device::ir0_w));