diff options
Diffstat (limited to 'src/mame/pc/sis630.cpp')
| -rw-r--r-- | src/mame/pc/sis630.cpp | 19 |
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(); }); |
