mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
isa8_device and isa16_device: converted to devcb2 (nw)
This commit is contained in:
parent
35c5f993be
commit
eb436c17f2
@ -598,23 +598,6 @@ static SLOT_INTERFACE_START( mini_chief_isa8_cards )
|
||||
SLOT_INTERFACE("wd1002a_wx1", ISA8_WD1002A_WX1)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
static const isa8bus_interface isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
||||
// dma request
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1570 )
|
||||
//-------------------------------------------------
|
||||
@ -800,7 +783,8 @@ static MACHINE_CONFIG_FRAGMENT( mini_chief )
|
||||
MCFG_64H156_BYTE_CALLBACK(WRITELINE(c1571_device, byte_w))
|
||||
MCFG_FLOPPY_DRIVE_ADD(C64H156_TAG":0", c1571_floppies, "525qd", c1571_device::floppy_formats)
|
||||
|
||||
MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, M6502_TAG, isabus_intf)
|
||||
MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0)
|
||||
MCFG_ISA8_CPU(M6502_TAG)
|
||||
MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa1", mini_chief_isa8_cards, "wd1002a_wx1", false)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -120,26 +120,6 @@ void isa8_device::static_set_custom_spaces(device_t &device)
|
||||
|
||||
void isa8_device::device_config_complete()
|
||||
{
|
||||
// inherit a copy of the static data
|
||||
const isa8bus_interface *intf = reinterpret_cast<const isa8bus_interface *>(static_config());
|
||||
if (intf != NULL)
|
||||
{
|
||||
*static_cast<isa8bus_interface *>(this) = *intf;
|
||||
}
|
||||
|
||||
// or initialize to defaults if none provided
|
||||
else
|
||||
{
|
||||
memset(&m_out_irq2_cb, 0, sizeof(m_out_irq2_cb));
|
||||
memset(&m_out_irq3_cb, 0, sizeof(m_out_irq3_cb));
|
||||
memset(&m_out_irq4_cb, 0, sizeof(m_out_irq4_cb));
|
||||
memset(&m_out_irq5_cb, 0, sizeof(m_out_irq5_cb));
|
||||
memset(&m_out_irq6_cb, 0, sizeof(m_out_irq6_cb));
|
||||
memset(&m_out_irq7_cb, 0, sizeof(m_out_irq7_cb));
|
||||
memset(&m_out_drq1_cb, 0, sizeof(m_out_drq1_cb));
|
||||
memset(&m_out_drq2_cb, 0, sizeof(m_out_drq2_cb));
|
||||
memset(&m_out_drq3_cb, 0, sizeof(m_out_drq3_cb));
|
||||
}
|
||||
m_maincpu = subdevice<cpu_device>(m_cputag);
|
||||
}
|
||||
|
||||
@ -158,6 +138,15 @@ isa8_device::isa8_device(const machine_config &mconfig, const char *tag, device_
|
||||
m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, NULL),
|
||||
m_program16_config("ISA 16-bit program", ENDIANNESS_LITTLE, 16, 24, 0, NULL),
|
||||
m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, NULL),
|
||||
m_out_irq2_cb(*this),
|
||||
m_out_irq3_cb(*this),
|
||||
m_out_irq4_cb(*this),
|
||||
m_out_irq5_cb(*this),
|
||||
m_out_irq6_cb(*this),
|
||||
m_out_irq7_cb(*this),
|
||||
m_out_drq1_cb(*this),
|
||||
m_out_drq2_cb(*this),
|
||||
m_out_drq3_cb(*this),
|
||||
m_write_iochck(*this)
|
||||
{
|
||||
for(int i=0;i<8;i++)
|
||||
@ -177,6 +166,15 @@ isa8_device::isa8_device(const machine_config &mconfig, device_type type, const
|
||||
m_io_config("ISA 8-bit I/O", ENDIANNESS_LITTLE, 8, 16, 0, NULL),
|
||||
m_program16_config("ISA 16-bit program", ENDIANNESS_LITTLE, 16, 24, 0, NULL),
|
||||
m_io16_config("ISA 16-bit I/O", ENDIANNESS_LITTLE, 16, 16, 0, NULL),
|
||||
m_out_irq2_cb(*this),
|
||||
m_out_irq3_cb(*this),
|
||||
m_out_irq4_cb(*this),
|
||||
m_out_irq5_cb(*this),
|
||||
m_out_irq6_cb(*this),
|
||||
m_out_irq7_cb(*this),
|
||||
m_out_drq1_cb(*this),
|
||||
m_out_drq2_cb(*this),
|
||||
m_out_drq3_cb(*this),
|
||||
m_write_iochck(*this)
|
||||
{
|
||||
for(int i=0;i<8;i++)
|
||||
@ -224,15 +222,15 @@ void isa8_device::device_start()
|
||||
// resolve callbacks
|
||||
m_write_iochck.resolve_safe();
|
||||
|
||||
m_out_irq2_func.resolve(m_out_irq2_cb, *this);
|
||||
m_out_irq3_func.resolve(m_out_irq3_cb, *this);
|
||||
m_out_irq4_func.resolve(m_out_irq4_cb, *this);
|
||||
m_out_irq5_func.resolve(m_out_irq5_cb, *this);
|
||||
m_out_irq6_func.resolve(m_out_irq6_cb, *this);
|
||||
m_out_irq7_func.resolve(m_out_irq7_cb, *this);
|
||||
m_out_drq1_func.resolve(m_out_drq1_cb, *this);
|
||||
m_out_drq2_func.resolve(m_out_drq2_cb, *this);
|
||||
m_out_drq3_func.resolve(m_out_drq3_cb, *this);
|
||||
m_out_irq2_cb.resolve_safe();
|
||||
m_out_irq3_cb.resolve_safe();
|
||||
m_out_irq4_cb.resolve_safe();
|
||||
m_out_irq5_cb.resolve_safe();
|
||||
m_out_irq6_cb.resolve_safe();
|
||||
m_out_irq7_cb.resolve_safe();
|
||||
m_out_drq1_cb.resolve_safe();
|
||||
m_out_drq2_cb.resolve_safe();
|
||||
m_out_drq3_cb.resolve_safe();
|
||||
|
||||
m_maincpu = subdevice<cpu_device>(m_cputag);
|
||||
|
||||
@ -358,17 +356,17 @@ bool isa8_device::is_option_rom_space_available(offs_t start, int size)
|
||||
}
|
||||
|
||||
// interrupt request from isa card
|
||||
WRITE_LINE_MEMBER( isa8_device::irq2_w ) { m_out_irq2_func(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq3_w ) { m_out_irq3_func(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq4_w ) { m_out_irq4_func(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq5_w ) { m_out_irq5_func(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq6_w ) { m_out_irq6_func(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq7_w ) { m_out_irq7_func(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq2_w ) { m_out_irq2_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq3_w ) { m_out_irq3_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq4_w ) { m_out_irq4_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq5_w ) { m_out_irq5_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq6_w ) { m_out_irq6_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::irq7_w ) { m_out_irq7_cb(state); }
|
||||
|
||||
// dma request from isa card
|
||||
WRITE_LINE_MEMBER( isa8_device::drq1_w ) { m_out_drq1_func(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::drq2_w ) { m_out_drq2_func(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::drq3_w ) { m_out_drq3_func(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::drq1_w ) { m_out_drq1_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::drq2_w ) { m_out_drq2_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa8_device::drq3_w ) { m_out_drq3_cb(state); }
|
||||
|
||||
UINT8 isa8_device::dack_r(int line)
|
||||
{
|
||||
@ -463,7 +461,16 @@ const device_type ISA16 = &device_creator<isa16_device>;
|
||||
//-------------------------------------------------
|
||||
|
||||
isa16_device::isa16_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
isa8_device(mconfig, ISA16, "ISA16", tag, owner, clock, "isa16", __FILE__)
|
||||
isa8_device(mconfig, ISA16, "ISA16", tag, owner, clock, "isa16", __FILE__),
|
||||
m_out_irq10_cb(*this),
|
||||
m_out_irq11_cb(*this),
|
||||
m_out_irq12_cb(*this),
|
||||
m_out_irq14_cb(*this),
|
||||
m_out_irq15_cb(*this),
|
||||
m_out_drq0_cb(*this),
|
||||
m_out_drq5_cb(*this),
|
||||
m_out_drq6_cb(*this),
|
||||
m_out_drq7_cb(*this)
|
||||
{
|
||||
}
|
||||
|
||||
@ -475,47 +482,6 @@ isa16_device::isa16_device(const machine_config &mconfig, const char *tag, devic
|
||||
|
||||
void isa16_device::device_config_complete()
|
||||
{
|
||||
// inherit a copy of the static data
|
||||
const isa16bus_interface *intf = reinterpret_cast<const isa16bus_interface *>(static_config());
|
||||
if (intf != NULL)
|
||||
{
|
||||
*static_cast<isa16bus_interface *>(this) = *intf;
|
||||
memcpy(&(isa8bus_interface::m_out_irq2_cb),&(isa16bus_interface::m_out_irq2_cb), sizeof(isa16bus_interface::m_out_irq2_cb));
|
||||
memcpy(&(isa8bus_interface::m_out_irq3_cb),&(isa16bus_interface::m_out_irq3_cb), sizeof(isa16bus_interface::m_out_irq3_cb));
|
||||
memcpy(&(isa8bus_interface::m_out_irq4_cb),&(isa16bus_interface::m_out_irq4_cb), sizeof(isa16bus_interface::m_out_irq4_cb));
|
||||
memcpy(&(isa8bus_interface::m_out_irq5_cb),&(isa16bus_interface::m_out_irq5_cb), sizeof(isa16bus_interface::m_out_irq5_cb));
|
||||
memcpy(&(isa8bus_interface::m_out_irq6_cb),&(isa16bus_interface::m_out_irq6_cb), sizeof(isa16bus_interface::m_out_irq6_cb));
|
||||
memcpy(&(isa8bus_interface::m_out_irq7_cb),&(isa16bus_interface::m_out_irq7_cb), sizeof(isa16bus_interface::m_out_irq7_cb));
|
||||
memcpy(&(isa8bus_interface::m_out_drq1_cb),&(isa16bus_interface::m_out_drq1_cb), sizeof(isa16bus_interface::m_out_drq1_cb));
|
||||
memcpy(&(isa8bus_interface::m_out_drq2_cb),&(isa16bus_interface::m_out_drq2_cb), sizeof(isa16bus_interface::m_out_drq2_cb));
|
||||
memcpy(&(isa8bus_interface::m_out_drq3_cb),&(isa16bus_interface::m_out_drq3_cb), sizeof(isa16bus_interface::m_out_drq3_cb));
|
||||
}
|
||||
|
||||
// or initialize to defaults if none provided
|
||||
else
|
||||
{
|
||||
memset(&(isa8bus_interface::m_out_irq2_cb), 0, sizeof(isa8bus_interface::m_out_irq2_cb));
|
||||
memset(&(isa8bus_interface::m_out_irq3_cb), 0, sizeof(isa8bus_interface::m_out_irq3_cb));
|
||||
memset(&(isa8bus_interface::m_out_irq4_cb), 0, sizeof(isa8bus_interface::m_out_irq4_cb));
|
||||
memset(&(isa8bus_interface::m_out_irq5_cb), 0, sizeof(isa8bus_interface::m_out_irq5_cb));
|
||||
memset(&(isa8bus_interface::m_out_irq6_cb), 0, sizeof(isa8bus_interface::m_out_irq6_cb));
|
||||
memset(&(isa8bus_interface::m_out_irq7_cb), 0, sizeof(isa8bus_interface::m_out_irq7_cb));
|
||||
|
||||
memset(&m_out_irq10_cb, 0, sizeof(m_out_irq10_cb));
|
||||
memset(&m_out_irq11_cb, 0, sizeof(m_out_irq11_cb));
|
||||
memset(&m_out_irq12_cb, 0, sizeof(m_out_irq12_cb));
|
||||
memset(&m_out_irq14_cb, 0, sizeof(m_out_irq14_cb));
|
||||
memset(&m_out_irq15_cb, 0, sizeof(m_out_irq15_cb));
|
||||
|
||||
memset(&m_out_drq0_cb, 0, sizeof(m_out_drq0_cb));
|
||||
memset(&(isa8bus_interface::m_out_drq1_cb), 0, sizeof(isa8bus_interface::m_out_drq1_cb));
|
||||
memset(&(isa8bus_interface::m_out_drq2_cb), 0, sizeof(isa8bus_interface::m_out_drq2_cb));
|
||||
memset(&(isa8bus_interface::m_out_drq3_cb), 0, sizeof(isa8bus_interface::m_out_drq3_cb));
|
||||
|
||||
memset(&m_out_drq5_cb, 0, sizeof(m_out_drq5_cb));
|
||||
memset(&m_out_drq6_cb, 0, sizeof(m_out_drq6_cb));
|
||||
memset(&m_out_drq7_cb, 0, sizeof(m_out_drq7_cb));
|
||||
}
|
||||
m_maincpu = mconfig().device<cpu_device>(m_cputag);
|
||||
}
|
||||
|
||||
@ -528,16 +494,16 @@ void isa16_device::device_start()
|
||||
isa8_device::device_start();
|
||||
|
||||
// resolve callbacks
|
||||
m_out_irq10_func.resolve(m_out_irq10_cb, *this);
|
||||
m_out_irq11_func.resolve(m_out_irq11_cb, *this);
|
||||
m_out_irq12_func.resolve(m_out_irq12_cb, *this);
|
||||
m_out_irq14_func.resolve(m_out_irq14_cb, *this);
|
||||
m_out_irq15_func.resolve(m_out_irq15_cb, *this);
|
||||
m_out_irq10_cb.resolve_safe();
|
||||
m_out_irq11_cb.resolve_safe();
|
||||
m_out_irq12_cb.resolve_safe();
|
||||
m_out_irq14_cb.resolve_safe();
|
||||
m_out_irq15_cb.resolve_safe();
|
||||
|
||||
m_out_drq0_func.resolve(m_out_drq0_cb, *this);
|
||||
m_out_drq5_func.resolve(m_out_drq5_cb, *this);
|
||||
m_out_drq6_func.resolve(m_out_drq6_cb, *this);
|
||||
m_out_drq7_func.resolve(m_out_drq7_cb, *this);
|
||||
m_out_drq0_cb.resolve_safe();
|
||||
m_out_drq5_cb.resolve_safe();
|
||||
m_out_drq6_cb.resolve_safe();
|
||||
m_out_drq7_cb.resolve_safe();
|
||||
}
|
||||
|
||||
void isa16_device::install16_device(offs_t start, offs_t end, offs_t mask, offs_t mirror, read16_delegate rhandler, write16_delegate whandler)
|
||||
@ -623,17 +589,17 @@ WRITE16_MEMBER(isa16_device::io16_swap_w)
|
||||
}
|
||||
|
||||
// interrupt request from isa card
|
||||
WRITE_LINE_MEMBER( isa16_device::irq10_w ) { m_out_irq10_func(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::irq11_w ) { m_out_irq11_func(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::irq12_w ) { m_out_irq12_func(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::irq14_w ) { m_out_irq14_func(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::irq15_w ) { m_out_irq15_func(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::irq10_w ) { m_out_irq10_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::irq11_w ) { m_out_irq11_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::irq12_w ) { m_out_irq12_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::irq14_w ) { m_out_irq14_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::irq15_w ) { m_out_irq15_cb(state); }
|
||||
|
||||
// dma request from isa card
|
||||
WRITE_LINE_MEMBER( isa16_device::drq0_w ) { m_out_drq0_func(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::drq5_w ) { m_out_drq5_func(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::drq6_w ) { m_out_drq6_func(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::drq7_w ) { m_out_drq7_func(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::drq0_w ) { m_out_drq0_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::drq5_w ) { m_out_drq5_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::drq6_w ) { m_out_drq6_cb(state); }
|
||||
WRITE_LINE_MEMBER( isa16_device::drq7_w ) { m_out_drq7_cb(state); }
|
||||
|
||||
UINT16 isa16_device::dack16_r(int line)
|
||||
{
|
||||
|
@ -72,9 +72,7 @@
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_ISA8_BUS_ADD(_tag, _cputag, _config) \
|
||||
MCFG_DEVICE_ADD(_tag, ISA8, 0) \
|
||||
MCFG_DEVICE_CONFIG(_config) \
|
||||
#define MCFG_ISA8_CPU(_cputag) \
|
||||
isa8_device::static_set_cputag(*device, _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() \
|
||||
@ -83,9 +81,7 @@
|
||||
MCFG_DEVICE_ADD(_tag, ISA8_SLOT, 0) \
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, _fixed) \
|
||||
isa8_slot_device::static_set_isa8_slot(*device, owner, _isatag);
|
||||
#define MCFG_ISA16_BUS_ADD(_tag, _cputag, _config) \
|
||||
MCFG_DEVICE_ADD(_tag, ISA16, 0) \
|
||||
MCFG_DEVICE_CONFIG(_config) \
|
||||
#define MCFG_ISA16_CPU(_cputag) \
|
||||
isa8_device::static_set_cputag(*device, _cputag);
|
||||
#define MCFG_ISA16_BUS_CUSTOM_SPACES() \
|
||||
isa8_device::static_set_custom_spaces(*device);
|
||||
@ -96,6 +92,62 @@
|
||||
|
||||
#define MCFG_ISA_BUS_IOCHCK(_iochck) \
|
||||
downcast<isa8_device *>(device)->set_iochck_callback(DEVCB2_##_iochck);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ2_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq2_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ3_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq3_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ4_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq4_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ5_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq5_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ6_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq6_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ7_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_irq7_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ1_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_drq1_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ2_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_drq2_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ3_CB(_devcb) \
|
||||
devcb = &isa8_device::set_out_drq3_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ10_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq10_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ11_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq11_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ12_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq12_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ14_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq14_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_IRQ15_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_irq15_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ0_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_drq0_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ5_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_drq5_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ6_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_drq6_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_ISA_OUT_DRQ7_CB(_devcb) \
|
||||
devcb = &isa16_device::set_out_drq7_callback(*device, DEVCB2_##_devcb);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
@ -125,25 +177,9 @@ protected:
|
||||
// device type definition
|
||||
extern const device_type ISA8_SLOT;
|
||||
|
||||
// ======================> isa8bus_interface
|
||||
|
||||
struct isa8bus_interface
|
||||
{
|
||||
devcb_write_line m_out_irq2_cb;
|
||||
devcb_write_line m_out_irq3_cb;
|
||||
devcb_write_line m_out_irq4_cb;
|
||||
devcb_write_line m_out_irq5_cb;
|
||||
devcb_write_line m_out_irq6_cb;
|
||||
devcb_write_line m_out_irq7_cb;
|
||||
devcb_write_line m_out_drq1_cb;
|
||||
devcb_write_line m_out_drq2_cb;
|
||||
devcb_write_line m_out_drq3_cb;
|
||||
};
|
||||
|
||||
class device_isa8_card_interface;
|
||||
// ======================> isa8_device
|
||||
class isa8_device : public device_t,
|
||||
public isa8bus_interface,
|
||||
public device_memory_interface
|
||||
{
|
||||
public:
|
||||
@ -154,6 +190,15 @@ public:
|
||||
static void static_set_cputag(device_t &device, const char *tag);
|
||||
static void static_set_custom_spaces(device_t &device);
|
||||
template<class _iochck> void set_iochck_callback(_iochck iochck) { m_write_iochck.set_callback(iochck); }
|
||||
template<class _Object> static devcb2_base &set_out_irq2_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq3_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq3_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq4_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq4_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq5_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq5_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq6_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq6_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq7_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_irq7_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq1_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq1_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq2_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq2_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq3_callback(device_t &device, _Object object) { return downcast<isa8_device &>(device).m_out_drq3_cb.set_callback(object); }
|
||||
|
||||
// for ISA8, put the 8-bit configs in the primary slots and the 16-bit configs in the secondary
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum) const
|
||||
@ -225,16 +270,15 @@ protected:
|
||||
int m_iowidth, m_prgwidth;
|
||||
bool m_allocspaces;
|
||||
|
||||
devcb_resolved_write_line m_out_irq2_func;
|
||||
devcb_resolved_write_line m_out_irq3_func;
|
||||
devcb_resolved_write_line m_out_irq4_func;
|
||||
devcb_resolved_write_line m_out_irq5_func;
|
||||
devcb_resolved_write_line m_out_irq6_func;
|
||||
devcb_resolved_write_line m_out_irq7_func;
|
||||
|
||||
devcb_resolved_write_line m_out_drq1_func;
|
||||
devcb_resolved_write_line m_out_drq2_func;
|
||||
devcb_resolved_write_line m_out_drq3_func;
|
||||
devcb2_write_line m_out_irq2_cb;
|
||||
devcb2_write_line m_out_irq3_cb;
|
||||
devcb2_write_line m_out_irq4_cb;
|
||||
devcb2_write_line m_out_irq5_cb;
|
||||
devcb2_write_line m_out_irq6_cb;
|
||||
devcb2_write_line m_out_irq7_cb;
|
||||
devcb2_write_line m_out_drq1_cb;
|
||||
devcb2_write_line m_out_drq2_cb;
|
||||
devcb2_write_line m_out_drq3_cb;
|
||||
|
||||
device_isa8_card_interface *m_dma_device[8];
|
||||
bool m_dma_eop[8];
|
||||
@ -276,32 +320,6 @@ public:
|
||||
device_isa8_card_interface *m_next;
|
||||
};
|
||||
|
||||
// ======================> isa16bus_interface
|
||||
|
||||
struct isa16bus_interface
|
||||
{
|
||||
devcb_write_line m_out_irq2_cb; // this goes to IRQ 9 on pic
|
||||
devcb_write_line m_out_irq3_cb;
|
||||
devcb_write_line m_out_irq4_cb;
|
||||
devcb_write_line m_out_irq5_cb;
|
||||
devcb_write_line m_out_irq6_cb;
|
||||
devcb_write_line m_out_irq7_cb;
|
||||
|
||||
devcb_write_line m_out_irq10_cb;
|
||||
devcb_write_line m_out_irq11_cb;
|
||||
devcb_write_line m_out_irq12_cb;
|
||||
devcb_write_line m_out_irq14_cb;
|
||||
devcb_write_line m_out_irq15_cb;
|
||||
|
||||
devcb_write_line m_out_drq0_cb;
|
||||
devcb_write_line m_out_drq1_cb;
|
||||
devcb_write_line m_out_drq2_cb;
|
||||
devcb_write_line m_out_drq3_cb;
|
||||
devcb_write_line m_out_drq5_cb;
|
||||
devcb_write_line m_out_drq6_cb;
|
||||
devcb_write_line m_out_drq7_cb;
|
||||
};
|
||||
|
||||
class isa16_device;
|
||||
|
||||
class isa16_slot_device : public isa8_slot_device
|
||||
@ -321,13 +339,22 @@ public:
|
||||
extern const device_type ISA16_SLOT;
|
||||
|
||||
// ======================> isa16_device
|
||||
class isa16_device : public isa8_device,
|
||||
public isa16bus_interface
|
||||
class isa16_device : public isa8_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
isa16_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
template<class _Object> static devcb2_base &set_out_irq10_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq10_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq11_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq11_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq12_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq12_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq14_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq14_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_irq15_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_irq15_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq0_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq0_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq5_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq5_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq6_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq6_cb.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_out_drq7_callback(device_t &device, _Object object) { return downcast<isa16_device &>(device).m_out_drq7_cb.set_callback(object); }
|
||||
|
||||
void install16_device(offs_t start, offs_t end, offs_t mask, offs_t mirror, read16_delegate rhandler, write16_delegate whandler);
|
||||
|
||||
// for ISA16, put the 16-bit configs in the primary slots and the 8-bit configs in the secondary
|
||||
@ -375,16 +402,15 @@ protected:
|
||||
|
||||
private:
|
||||
// internal state
|
||||
devcb_resolved_write_line m_out_irq10_func;
|
||||
devcb_resolved_write_line m_out_irq11_func;
|
||||
devcb_resolved_write_line m_out_irq12_func;
|
||||
devcb_resolved_write_line m_out_irq14_func;
|
||||
devcb_resolved_write_line m_out_irq15_func;
|
||||
|
||||
devcb_resolved_write_line m_out_drq0_func;
|
||||
devcb_resolved_write_line m_out_drq5_func;
|
||||
devcb_resolved_write_line m_out_drq6_func;
|
||||
devcb_resolved_write_line m_out_drq7_func;
|
||||
devcb2_write_line m_out_irq10_cb;
|
||||
devcb2_write_line m_out_irq11_cb;
|
||||
devcb2_write_line m_out_irq12_cb;
|
||||
devcb2_write_line m_out_irq14_cb;
|
||||
devcb2_write_line m_out_irq15_cb;
|
||||
devcb2_write_line m_out_drq0_cb;
|
||||
devcb2_write_line m_out_drq5_cb;
|
||||
devcb2_write_line m_out_drq6_cb;
|
||||
devcb2_write_line m_out_drq7_cb;
|
||||
};
|
||||
|
||||
|
||||
|
@ -39,33 +39,6 @@ static const pc_kbdc_interface pc_kbdc_intf =
|
||||
DEVCB_DEVICE_LINE_MEMBER("keybc", at_keyboard_controller_device, keyboard_data_w)
|
||||
};
|
||||
|
||||
static const isa16bus_interface isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
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_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),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq3_w),
|
||||
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_2", am9517a_device, dreq1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_2", am9517a_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_2", am9517a_device, dreq3_w),
|
||||
};
|
||||
|
||||
static SLOT_INTERFACE_START(pc_isa_onboard)
|
||||
SLOT_INTERFACE("comat", ISA8_COM_AT)
|
||||
SLOT_INTERFACE("lpt", ISA8_LPT)
|
||||
@ -113,7 +86,26 @@ static MACHINE_CONFIG_FRAGMENT( southbridge )
|
||||
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
// on board devices
|
||||
MCFG_ISA16_SLOT_ADD("isabus","board1", pc_isa_onboard, "fdcsmc", true)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","board2", pc_isa_onboard, "comat", true)
|
||||
|
@ -491,22 +491,6 @@ SLOT_INTERFACE_START( 4enlinea_isa8_cards )
|
||||
SLOT_INTERFACE_INTERNAL("4enlinea", ISA8_CGA_4ENLINEA)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
static const isa8bus_interface _4enlinea_isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
||||
// dma request
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
/* TODO: irq sources are unknown */
|
||||
INTERRUPT_GEN_MEMBER(_4enlinea_state::_4enlinea_irq)
|
||||
{
|
||||
@ -540,7 +524,8 @@ static MACHINE_CONFIG_START( 4enlinea, _4enlinea_state )
|
||||
MCFG_CPU_IO_MAP(audio_portmap)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(_4enlinea_state, _4enlinea_audio_irq, 60) //TODO
|
||||
|
||||
MCFG_ISA8_BUS_ADD("isa", ":maincpu", _4enlinea_isabus_intf)
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU(":maincpu")
|
||||
MCFG_ISA8_SLOT_ADD("isa", "isa1", 4enlinea_isa8_cards, "4enlinea", true)
|
||||
|
||||
|
||||
|
@ -732,22 +732,6 @@ SLOT_INTERFACE_START( filetto_isa8_cards )
|
||||
SLOT_INTERFACE_INTERNAL("tetriskr", ISA8_CGA_TETRISKR)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
static const isa8bus_interface filetto_isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_1", pic8259_device, ir2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_1", pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_1", pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_1", pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_1", pic8259_device, ir6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259_1", pic8259_device, ir7_w),
|
||||
|
||||
// dma request
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq3_w)
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT(pcxt)
|
||||
MCFG_CPU_ADD("maincpu", I8088, XTAL_14_31818MHz/3)
|
||||
@ -768,8 +752,18 @@ static MACHINE_CONFIG_FRAGMENT(pcxt)
|
||||
|
||||
MCFG_PIC8259_ADD( "pic8259_1", INPUTLINE("maincpu", 0), VCC, NULL )
|
||||
|
||||
MCFG_ISA8_BUS_ADD("isa", ":maincpu", filetto_isabus_intf)
|
||||
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
|
||||
/*Sound Hardware*/
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
|
@ -295,33 +295,6 @@ WRITE_LINE_MEMBER( at_state::at_shutdown )
|
||||
m_maincpu->reset();
|
||||
}
|
||||
|
||||
static const isa16bus_interface isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
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_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),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_1", am9517a_device, dreq3_w),
|
||||
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_2", am9517a_device, dreq1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_2", am9517a_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237_2", am9517a_device, dreq3_w),
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( at_motherboard )
|
||||
MCFG_MACHINE_START_OVERRIDE(at_state, at )
|
||||
MCFG_MACHINE_RESET_OVERRIDE(at_state, at )
|
||||
@ -368,7 +341,26 @@ static MACHINE_CONFIG_START( ibm5170, at_state )
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
||||
|
||||
MCFG_FRAGMENT_ADD( at_motherboard )
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa1", pc_isa16_cards, "ega", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa2", pc_isa16_cards, "fdc", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa3", pc_isa16_cards, "comat", false)
|
||||
@ -408,7 +400,26 @@ static MACHINE_CONFIG_START( ibmps1, at_state )
|
||||
MCFG_FRAGMENT_ADD( pcvideo_vga )
|
||||
|
||||
MCFG_FRAGMENT_ADD( at_motherboard )
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa1", pc_isa16_cards, "fdc", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa2", pc_isa16_cards, "comat", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa3", pc_isa16_cards, "ide", false)
|
||||
@ -432,7 +443,26 @@ static MACHINE_CONFIG_START( ibm5162, at_state )
|
||||
|
||||
MCFG_FRAGMENT_ADD( at_motherboard )
|
||||
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa1", pc_isa16_cards, "fdc", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa2", pc_isa16_cards, "ide", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa3", pc_isa16_cards, "comat", false)
|
||||
@ -459,7 +489,26 @@ static MACHINE_CONFIG_START( ps2m30286, at_state )
|
||||
|
||||
MCFG_FRAGMENT_ADD( at_motherboard )
|
||||
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa1", pc_isa16_cards, "fdc", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa2", pc_isa16_cards, "ide", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa3", pc_isa16_cards, "comat", false)
|
||||
@ -482,7 +531,26 @@ static MACHINE_CONFIG_START( neat, at_state )
|
||||
|
||||
MCFG_FRAGMENT_ADD( at_motherboard )
|
||||
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
MCFG_ISA16_SLOT_ADD("isabus", "isa1", pc_isa16_cards, "fdc", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus", "isa2", pc_isa16_cards, "ide", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus", "isa3", pc_isa16_cards, "comat", false)
|
||||
@ -507,7 +575,26 @@ static MACHINE_CONFIG_START( atvga, at_state )
|
||||
|
||||
MCFG_FRAGMENT_ADD( at_motherboard )
|
||||
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa1", pc_isa16_cards, "fdcsmc", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa2", pc_isa16_cards, "ide", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa3", pc_isa16_cards, "comat", false)
|
||||
@ -531,7 +618,26 @@ static MACHINE_CONFIG_START( xb42639, at_state )
|
||||
|
||||
MCFG_FRAGMENT_ADD( at_motherboard )
|
||||
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa1", pc_isa16_cards, "fdc", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa2", pc_isa16_cards, "ide", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa3", pc_isa16_cards, "comat", false)
|
||||
@ -553,7 +659,26 @@ static MACHINE_CONFIG_START( at386, at_state )
|
||||
MCFG_FRAGMENT_ADD( at_motherboard )
|
||||
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
// on board devices
|
||||
MCFG_ISA16_SLOT_ADD("isabus","board1", pc_isa16_cards, "fdcsmc", true)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","board2", pc_isa16_cards, "comat", true)
|
||||
@ -598,7 +723,26 @@ static MACHINE_CONFIG_START( k286i, at_state )
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
||||
|
||||
MCFG_FRAGMENT_ADD( at_motherboard )
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259_master", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("pic8259_slave", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237_1", am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("dma8237_2", am9517a_device, dreq3_w))
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa1", pc_isa16_cards, "cga", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa2", pc_isa16_cards, "fdc", false)
|
||||
MCFG_ISA16_SLOT_ADD("isabus","isa3", pc_isa16_cards, "comat", false)
|
||||
|
@ -108,28 +108,6 @@ static const pc_kbdc_interface pc_kbdc_intf =
|
||||
DEVCB_DEVICE_LINE_MEMBER("keybc", at_keyboard_controller_device, keyboard_data_w)
|
||||
};
|
||||
|
||||
static const isa16bus_interface isabus_intf =
|
||||
{
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq09_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq03_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq04_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq05_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq06_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq07_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq10_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq11_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq12_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq14_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, irq15_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, dreq0_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, dreq1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, dreq3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, dreq5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, dreq6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("cs4031", cs4031_device, dreq7_w),
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( ct486, ct486_state )
|
||||
MCFG_CPU_ADD("maincpu", I486, XTAL_25MHz)
|
||||
MCFG_CPU_PROGRAM_MAP(ct486_map)
|
||||
@ -162,8 +140,27 @@ static MACHINE_CONFIG_START( ct486, ct486_state )
|
||||
MCFG_PC_KBDC_ADD("pc_kbdc", pc_kbdc_intf)
|
||||
MCFG_PC_KBDC_SLOT_ADD("pc_kbdc", "kbd", pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL)
|
||||
|
||||
MCFG_ISA16_BUS_ADD("isabus", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isabus", ISA16, 0)
|
||||
MCFG_ISA16_CPU(":maincpu")
|
||||
MCFG_ISA_BUS_IOCHCK(DEVWRITELINE("cs4031", cs4031_device, iochck_w))
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("cs4031", cs4031_device, irq09_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("cs4031", cs4031_device, irq03_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("cs4031", cs4031_device, irq04_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("cs4031", cs4031_device, irq05_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("cs4031", cs4031_device, irq06_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("cs4031", cs4031_device, irq07_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE("cs4031", cs4031_device, irq10_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE("cs4031", cs4031_device, irq11_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE("cs4031", cs4031_device, irq12_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE("cs4031", cs4031_device, irq14_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE("cs4031", cs4031_device, irq15_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE("cs4031", cs4031_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("cs4031", cs4031_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("cs4031", cs4031_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("cs4031", cs4031_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE("cs4031", cs4031_device, dreq5_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE("cs4031", cs4031_device, dreq6_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE("cs4031", cs4031_device, dreq7_w))
|
||||
MCFG_ISA16_SLOT_ADD("isabus", "board1", pc_isa16_cards, "fdcsmc", true)
|
||||
MCFG_ISA16_SLOT_ADD("isabus", "board2", pc_isa16_cards, "comat", true)
|
||||
MCFG_ISA16_SLOT_ADD("isabus", "board3", pc_isa16_cards, "ide", true)
|
||||
|
@ -61,33 +61,6 @@ DRIVER_INIT_MEMBER(indiana_state,indiana)
|
||||
{
|
||||
}
|
||||
|
||||
static const isa16bus_interface indiana_isabus_intf =
|
||||
{
|
||||
// interrupts 2-7
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
||||
// high IRQs 10-15
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
||||
// dma request 0-7
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
};
|
||||
|
||||
SLOT_INTERFACE_START( indiana_isa_cards )
|
||||
// 8-bit
|
||||
SLOT_INTERFACE("fdc_at", ISA8_FDC_AT)
|
||||
@ -108,7 +81,8 @@ static MACHINE_CONFIG_START( indiana, indiana_state )
|
||||
MCFG_CPU_ADD(M68K_TAG, M68030, XTAL_16MHz)
|
||||
MCFG_CPU_PROGRAM_MAP(indiana_mem)
|
||||
|
||||
MCFG_ISA16_BUS_ADD(ISABUS_TAG, ":"M68K_TAG, indiana_isabus_intf)
|
||||
MCFG_DEVICE_ADD(ISABUS_TAG, ISA16, 0)
|
||||
MCFG_ISA16_CPU(":"M68K_TAG)
|
||||
MCFG_ISA16_BUS_CUSTOM_SPACES()
|
||||
MCFG_ISA16_SLOT_ADD(ISABUS_TAG, "isa1", indiana_isa_cards, "vga", false)
|
||||
MCFG_ISA16_SLOT_ADD(ISABUS_TAG, "isa2", indiana_isa_cards, "fdc_at", false)
|
||||
|
@ -42,22 +42,6 @@ static const cassette_interface mc1502_cassette_interface =
|
||||
|
||||
// Timer
|
||||
|
||||
static const isa8bus_interface mc1502_isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
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_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
};
|
||||
|
||||
/* check if any keys are pressed, raise IRQ1 if so */
|
||||
|
||||
TIMER_CALLBACK_MEMBER(mc1502_state::keyb_signal_callback)
|
||||
@ -317,7 +301,14 @@ static MACHINE_CONFIG_START( mc1502, mc1502_state )
|
||||
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("upd8251", i8251_device, write_rxd))
|
||||
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("upd8251", i8251_device, write_dsr))
|
||||
|
||||
MCFG_ISA8_BUS_ADD("isa", ":maincpu", mc1502_isabus_intf)
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259", pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259", pic8259_device, ir7_w))
|
||||
MCFG_ISA8_SLOT_ADD("isa", "isa1", mc1502_isa8_cards, "fdc", false)
|
||||
MCFG_ISA8_SLOT_ADD("isa", "isa2", mc1502_isa8_cards, "rom", false)
|
||||
/* video hardware (only 1 chargen in ROM; CGA_FONT dip always 1 */
|
||||
|
@ -1102,22 +1102,6 @@ SLOT_INTERFACE_START( pc1640_isa8_cards )
|
||||
SLOT_INTERFACE_INTERNAL("iga", ISA8_PC1640_IGA)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
static const isa8bus_interface isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A2_TAG, pic8259_device, ir2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A2_TAG, pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A2_TAG, pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A2_TAG, pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A2_TAG, pic8259_device, ir6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8259A2_TAG, pic8259_device, ir7_w),
|
||||
|
||||
// dma request
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8237A5_TAG, am9517a_device, dreq1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8237A5_TAG, am9517a_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(I8237A5_TAG, am9517a_device, dreq3_w)
|
||||
};
|
||||
|
||||
FLOPPY_FORMATS_MEMBER( pc1512_state::floppy_formats )
|
||||
FLOPPY_PC_FORMAT
|
||||
FLOPPY_FORMATS_END
|
||||
@ -1324,7 +1308,17 @@ static MACHINE_CONFIG_START( pc1512, pc1512_state )
|
||||
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, cts_w))
|
||||
|
||||
// ISA8 bus
|
||||
MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, ":" I8086_TAG, isabus_intf)
|
||||
MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0)
|
||||
MCFG_ISA8_CPU(":" I8086_TAG)
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE(I8237A5_TAG, am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE(I8237A5_TAG, am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE(I8237A5_TAG, am9517a_device, dreq3_w))
|
||||
MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa1", pc_isa8_cards, NULL, false)
|
||||
MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa2", pc_isa8_cards, NULL, false)
|
||||
MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa3", pc_isa8_cards, NULL, false)
|
||||
@ -1414,7 +1408,17 @@ static MACHINE_CONFIG_START( pc1640, pc1640_state )
|
||||
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(INS8250_TAG, ins8250_uart_device, cts_w))
|
||||
|
||||
// ISA8 bus
|
||||
MCFG_ISA8_BUS_ADD(ISA_BUS_TAG, ":" I8086_TAG, isabus_intf)
|
||||
MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0)
|
||||
MCFG_ISA8_CPU(":" I8086_TAG)
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE(I8237A5_TAG, am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE(I8237A5_TAG, am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE(I8237A5_TAG, am9517a_device, dreq3_w))
|
||||
MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa1", pc_isa8_cards, NULL, false)
|
||||
MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa2", pc_isa8_cards, NULL, false)
|
||||
MCFG_ISA8_SLOT_ADD(ISA_BUS_TAG, "isa3", pc_isa8_cards, NULL, false)
|
||||
|
@ -189,22 +189,6 @@ WRITE8_MEMBER(p1_state::p1_ppi_w)
|
||||
*
|
||||
**********************************************************/
|
||||
|
||||
static const isa8bus_interface p1_isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
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_NULL,
|
||||
DEVCB_DEVICE_LINE_MEMBER("pic8259", pic8259_device, ir7_w),
|
||||
|
||||
// dma request
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
};
|
||||
|
||||
static const cassette_interface p1_cassette_interface =
|
||||
{
|
||||
cassette_default_formats,
|
||||
@ -292,7 +276,13 @@ static MACHINE_CONFIG_START( poisk1, p1_state )
|
||||
MCFG_I8255A_ADD( "ppi8255n1", p1_ppi8255_interface_1 )
|
||||
MCFG_I8255A_ADD( "ppi8255n2", p1_ppi8255_interface_2 )
|
||||
|
||||
MCFG_ISA8_BUS_ADD("isa", ":maincpu", p1_isabus_intf)
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259", pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259", pic8259_device, ir7_w))
|
||||
MCFG_ISA8_SLOT_ADD("isa", "isa1", p1_isa8_cards, "fdc", false)
|
||||
MCFG_ISA8_SLOT_ADD("isa", "isa2", p1_isa8_cards, NULL, false)
|
||||
MCFG_ISA8_SLOT_ADD("isa", "isa3", p1_isa8_cards, NULL, false)
|
||||
|
@ -235,22 +235,6 @@ SLOT_INTERFACE_START( pt68k4_isa8_cards )
|
||||
SLOT_INTERFACE("xtide", ISA8_XTIDE) // Monk only
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
static const isa8bus_interface pt68k4_isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
|
||||
// dma request
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
DEVCB_NULL,
|
||||
};
|
||||
|
||||
static const pc_kbdc_interface pc_kbdc_intf =
|
||||
{
|
||||
DEVCB_DRIVER_LINE_MEMBER(pt68k4_state, keyboard_clock_w),
|
||||
@ -274,7 +258,8 @@ static MACHINE_CONFIG_START( pt68k4, pt68k4_state )
|
||||
|
||||
MCFG_M48T02_ADD(TIMEKEEPER_TAG)
|
||||
|
||||
MCFG_ISA8_BUS_ADD(ISABUS_TAG, ":"M68K_TAG, pt68k4_isabus_intf)
|
||||
MCFG_DEVICE_ADD(ISABUS_TAG, ISA8, 0)
|
||||
MCFG_ISA8_CPU(":"M68K_TAG)
|
||||
MCFG_ISA8_BUS_CUSTOM_SPACES()
|
||||
MCFG_ISA8_SLOT_ADD(ISABUS_TAG, "isa1", pt68k4_isa8_cards, "fdc_at", false)
|
||||
MCFG_ISA8_SLOT_ADD(ISABUS_TAG, "isa2", pt68k4_isa8_cards, "mda", false)
|
||||
|
@ -780,33 +780,6 @@ WRITE_LINE_MEMBER(apollo_state::sio2_irq_handler)
|
||||
#undef VERBOSE
|
||||
#define VERBOSE 0
|
||||
|
||||
static const isa16bus_interface isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC2_TAG, pic8259_device, ir2_w), // in place of irq 2 on at irq 9 is used
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC1_TAG, pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC1_TAG, pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC1_TAG, pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC1_TAG, pic8259_device, ir6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC1_TAG, pic8259_device, ir7_w),
|
||||
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC2_TAG, pic8259_device, ir3_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC2_TAG, pic8259_device, ir4_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC2_TAG, pic8259_device, ir5_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC2_TAG, pic8259_device, ir6_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_PIC2_TAG, pic8259_device, ir7_w),
|
||||
|
||||
// dma request
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_DMA1_TAG, am9517a_device, dreq0_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_DMA1_TAG, am9517a_device, dreq1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_DMA1_TAG, am9517a_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_DMA1_TAG, am9517a_device, dreq3_w),
|
||||
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_DMA2_TAG, am9517a_device, dreq1_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_DMA2_TAG, am9517a_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER(APOLLO_DMA2_TAG, am9517a_device, dreq3_w),
|
||||
};
|
||||
|
||||
static SLOT_INTERFACE_START(apollo_isa_cards)
|
||||
SLOT_INTERFACE("wdc", ISA16_OMTI8621) // Combo ESDI/AT floppy controller
|
||||
SLOT_INTERFACE("ctape", ISA8_SC499) // Archive SC499 cartridge tape
|
||||
@ -832,8 +805,27 @@ MACHINE_CONFIG_FRAGMENT( common )
|
||||
MCFG_MC68681_ADD( APOLLO_SIO2_TAG, XTAL_3_6864MHz )
|
||||
MCFG_MC68681_IRQ_CALLBACK(WRITELINE(apollo_state, sio2_irq_handler))
|
||||
|
||||
MCFG_ISA16_BUS_ADD(APOLLO_ISA_TAG, ":"MAINCPU, isabus_intf)
|
||||
MCFG_DEVICE_ADD(APOLLO_ISA_TAG, ISA16, 0)
|
||||
MCFG_ISA16_CPU(":"MAINCPU)
|
||||
MCFG_ISA16_BUS_CUSTOM_SPACES()
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir2_w)) // in place of irq 2 on at irq 9 is used
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE(APOLLO_PIC1_TAG, pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_IRQ10_CB(DEVWRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ11_CB(DEVWRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ12_CB(DEVWRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ14_CB(DEVWRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ15_CB(DEVWRITELINE(APOLLO_PIC2_TAG, pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ0_CB(DEVWRITELINE(APOLLO_DMA1_TAG, am9517a_device, dreq0_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE(APOLLO_DMA1_TAG, am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE(APOLLO_DMA1_TAG, am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE(APOLLO_DMA1_TAG, am9517a_device, dreq3_w))
|
||||
MCFG_ISA_OUT_DRQ5_CB(DEVWRITELINE(APOLLO_DMA2_TAG, am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ6_CB(DEVWRITELINE(APOLLO_DMA2_TAG, am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ7_CB(DEVWRITELINE(APOLLO_DMA2_TAG, am9517a_device, dreq3_w))
|
||||
MCFG_ISA16_SLOT_ADD(APOLLO_ISA_TAG, "isa1", apollo_isa_cards, "wdc", false)
|
||||
MCFG_ISA16_SLOT_ADD(APOLLO_ISA_TAG, "isa2", apollo_isa_cards, "ctape", false)
|
||||
MCFG_ISA16_SLOT_ADD(APOLLO_ISA_TAG, "isa3", apollo_isa_cards, "3c505", false)
|
||||
|
@ -412,22 +412,6 @@ I8255A_INTERFACE( pc_ppi8255_interface )
|
||||
DEVCB_NULL
|
||||
};
|
||||
|
||||
static const isa8bus_interface isabus_intf =
|
||||
{
|
||||
// interrupts
|
||||
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),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237", am9517a_device, dreq2_w),
|
||||
DEVCB_DEVICE_LINE_MEMBER("dma8237", am9517a_device, dreq3_w)
|
||||
};
|
||||
|
||||
static const pc_kbdc_interface pc_kbdc_intf =
|
||||
{
|
||||
DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, ibm5160_mb_device, keyboard_clock_w),
|
||||
@ -482,7 +466,17 @@ static MACHINE_CONFIG_FRAGMENT( ibm5160_mb_config )
|
||||
|
||||
MCFG_I8255A_ADD( "ppi8255", pc_ppi8255_interface )
|
||||
|
||||
MCFG_ISA8_BUS_ADD("isa", ":maincpu", isabus_intf)
|
||||
MCFG_DEVICE_ADD("isa", ISA8, 0)
|
||||
MCFG_ISA8_CPU(":maincpu")
|
||||
MCFG_ISA_OUT_IRQ2_CB(DEVWRITELINE("pic8259", pic8259_device, ir2_w))
|
||||
MCFG_ISA_OUT_IRQ3_CB(DEVWRITELINE("pic8259", pic8259_device, ir3_w))
|
||||
MCFG_ISA_OUT_IRQ4_CB(DEVWRITELINE("pic8259", pic8259_device, ir4_w))
|
||||
MCFG_ISA_OUT_IRQ5_CB(DEVWRITELINE("pic8259", pic8259_device, ir5_w))
|
||||
MCFG_ISA_OUT_IRQ6_CB(DEVWRITELINE("pic8259", pic8259_device, ir6_w))
|
||||
MCFG_ISA_OUT_IRQ7_CB(DEVWRITELINE("pic8259", pic8259_device, ir7_w))
|
||||
MCFG_ISA_OUT_DRQ1_CB(DEVWRITELINE("dma8237", am9517a_device, dreq1_w))
|
||||
MCFG_ISA_OUT_DRQ2_CB(DEVWRITELINE("dma8237", am9517a_device, dreq2_w))
|
||||
MCFG_ISA_OUT_DRQ3_CB(DEVWRITELINE("dma8237", am9517a_device, dreq3_w))
|
||||
|
||||
MCFG_PC_KBDC_ADD("pc_kbdc", pc_kbdc_intf)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user