diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index ac3879802ac..7d63641a546 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -2771,6 +2771,7 @@ files { MAME_DIR .. "src/mame/drivers/ipc.cpp", MAME_DIR .. "src/mame/drivers/ipds.cpp", MAME_DIR .. "src/mame/drivers/isbc.cpp", + MAME_DIR .. "src/mame/drivers/isbc660.cpp", MAME_DIR .. "src/mame/drivers/isbc8010.cpp", MAME_DIR .. "src/mame/drivers/isbc8030.cpp", MAME_DIR .. "src/mame/machine/imm6_76.cpp", diff --git a/src/mame/drivers/isbc660.cpp b/src/mame/drivers/isbc660.cpp new file mode 100644 index 00000000000..2204a41876c --- /dev/null +++ b/src/mame/drivers/isbc660.cpp @@ -0,0 +1,82 @@ +// license:BSD-3-Clause +// copyright-holders:Patrick Mackinlay + +/* + * Intel iSBC 660 System Chassis + * + * This is a bare system chassis with an 8-slot backplane into which a variety + * of Multibus boards may be installed. + * + * Sources: + * - http://www.nj7p.org/Manuals/PDFs/Intel/AFN-00285A.pdf + * + * TODO: + * - additional cards + */ + +#include "emu.h" + +#include "bus/multibus/multibus.h" +#include "bus/multibus/isbc8024.h" + +#define VERBOSE 0 +#include "logmacro.h" + +namespace { + +class isbc660_state : public driver_device +{ +public: + isbc660_state(machine_config const &mconfig, device_type type, char const *tag) + : driver_device(mconfig, type, tag) + , m_bus(*this, "slot") + { + } + +protected: + // driver_device overrides + virtual void machine_start() override; + virtual void machine_reset() override; + +public: + // machine config + void isbc660(machine_config &config); + +private: + required_device m_bus; +}; + +void isbc660_state::machine_start() +{ +} + +void isbc660_state::machine_reset() +{ +} + +static void isbc660_cards(device_slot_interface &device) +{ + device.option_add("isbc8024", ISBC8024); +} + +void isbc660_state::isbc660(machine_config &config) +{ + MULTIBUS(config, m_bus, 10_MHz_XTAL); // FIXME: clock driven by bus master + + MULTIBUS_SLOT(config, "slot:1", m_bus, isbc660_cards, nullptr, false); + MULTIBUS_SLOT(config, "slot:2", m_bus, isbc660_cards, nullptr, false); + MULTIBUS_SLOT(config, "slot:3", m_bus, isbc660_cards, nullptr, false); + MULTIBUS_SLOT(config, "slot:4", m_bus, isbc660_cards, nullptr, false); + MULTIBUS_SLOT(config, "slot:5", m_bus, isbc660_cards, nullptr, false); + MULTIBUS_SLOT(config, "slot:6", m_bus, isbc660_cards, nullptr, false); + MULTIBUS_SLOT(config, "slot:7", m_bus, isbc660_cards, nullptr, false); + MULTIBUS_SLOT(config, "slot:8", m_bus, isbc660_cards, nullptr, false); +} + +ROM_START(isbc660) +ROM_END + +} + +/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ +COMP(1985, isbc660, 0, 0, isbc660, 0, isbc660_state, empty_init, "Intel", "iSBC 660", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index d68cd6c378b..f657e6bd0c6 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -17476,6 +17476,9 @@ isbc8605 // isbc8630 // sm1810 // +@source:isbc660.cpp +isbc660 // Intel iSBC 660 System Chassis + @source:isbc8010.cpp isbc8010 // isbc8010a // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 934ef7d22a9..89d2c8f69eb 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -484,6 +484,7 @@ irisha.cpp iris_power.cpp is48x.cpp isbc.cpp +isbc660.cpp isbc8010.cpp isbc8030.cpp iskr103x.cpp