summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/pc/sis630.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/pc/sis630.cpp')
-rw-r--r--src/mame/pc/sis630.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/mame/pc/sis630.cpp b/src/mame/pc/sis630.cpp
index d2f19b1980e..0b6e95fbd7a 100644
--- a/src/mame/pc/sis630.cpp
+++ b/src/mame/pc/sis630.cpp
@@ -204,8 +204,6 @@ public:
sis630_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
- , m_ide_00_1(*this, "pci:00.1")
- , m_lpc_01_0(*this, "pci:01.0")
{ }
void sis630(machine_config &config);
@@ -218,8 +216,6 @@ public:
private:
required_device<pentium3_device> m_maincpu;
- required_device<sis5513_ide_device> m_ide_00_1;
- required_device<sis950_lpc_device> m_lpc_01_0;
// void main_io(address_map &map) ATTR_COLD;
// void main_map(address_map &map) ATTR_COLD;
@@ -278,15 +274,12 @@ void sis630_state::sis630(machine_config &config)
PCI_ROOT(config, "pci", 0);
// up to 512MB, 2 x DIMM sockets
SIS630_HOST(config, "pci:00.0", 0, "maincpu", 256*1024*1024);
- SIS5513_IDE(config, m_ide_00_1, 0, "maincpu");
- // TODO: both on same line as default, should also trigger towards LPC
- m_ide_00_1->irq_pri().set("pci:01.0:pic_slave", FUNC(pic8259_device::ir6_w));
- //FUNC(sis950_lpc_device::pc_irq14_w));
- m_ide_00_1->irq_sec().set("pci:01.0:pic_slave", FUNC(pic8259_device::ir7_w));
- //FUNC(sis950_lpc_device::pc_mirq0_w));
-
- SIS950_LPC(config, m_lpc_01_0, XTAL(33'000'000), "maincpu", "flash");
- m_lpc_01_0->fast_reset_cb().set([this] (int state) {
+ sis5513_ide_device &ide(SIS5513_IDE(config, "pci:00.1", 0, "maincpu"));
+ ide.irq_pri().set("pci:01.0", FUNC(sis950_lpc_device::pc_iirqa_w));
+ ide.irq_sec().set("pci:01.0", FUNC(sis950_lpc_device::pc_iirqb_w));
+
+ sis950_lpc_device &lpc(SIS950_LPC(config, "pci:01.0", XTAL(33'000'000), "maincpu", "flash"));
+ lpc.fast_reset_cb().set([this] (int state) {
if (state)
machine().schedule_soft_reset();
});