summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/rc2014.cpp
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2022-05-17 12:56:38 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2022-05-17 12:56:38 +1000
commitb91e4cd32ed17c42e5b7c1d40e5f3022349581db (patch)
treea4e3b7eb55b64b1d0768da1f3797e27a8570ee22 /src/mame/drivers/rc2014.cpp
parent17f0347abdc3e4c147133e6c0ff018352f5f96cc (diff)
parent7282130cc31b7b518f5be5bc17e07cdab760d7eb (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/mame/drivers/rc2014.cpp')
-rw-r--r--src/mame/drivers/rc2014.cpp130
1 files changed, 121 insertions, 9 deletions
diff --git a/src/mame/drivers/rc2014.cpp b/src/mame/drivers/rc2014.cpp
index 80af8114c92..eeddd9b8b72 100644
--- a/src/mame/drivers/rc2014.cpp
+++ b/src/mame/drivers/rc2014.cpp
@@ -42,6 +42,19 @@ public:
}
//
+ // Backplane-5 - 5 x 40pin slots
+ //
+ void rc2014bp5(machine_config &config)
+ {
+ RC2014_BUS(config, m_rc2014_bus, 0);
+ RC2014_SLOT(config, "bus:1", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:2", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:3", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:4", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:5", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ }
+
+ //
// RC2014 Classic II
//
// Clock/Reset
@@ -79,7 +92,7 @@ public:
// Backplane 8 - 8 x 40pin slots
//
// Some modules are extended bus modules in standard slots
- //
+ //
void rc2014zed(machine_config &config)
{
RC2014_BUS(config, m_rc2014_bus, 0);
@@ -93,17 +106,41 @@ public:
RC2014_SLOT(config, "bus:8", m_rc2014_bus, rc2014_bus_modules, nullptr);
}
+ //
+ // Backplane 8 - 8 x 40pin slots
+ //
+ void rc2014bp8(machine_config &config)
+ {
+ RC2014_BUS(config, m_rc2014_bus, 0);
+ RC2014_SLOT(config, "bus:1", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:2", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:3", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:4", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:5", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:6", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:7", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ RC2014_SLOT(config, "bus:8", m_rc2014_bus, rc2014_bus_modules, nullptr);
+ }
+
private:
required_device<rc2014_bus_device> m_rc2014_bus;
};
ROM_START(rc2014)
ROM_END
+
+ROM_START(rc2014bp5)
+ROM_END
+
ROM_START(rc2014cl2)
ROM_END
+
ROM_START(rc2014zed)
ROM_END
+ROM_START(rc2014bp8)
+ROM_END
+
class rc2014pro_state : public driver_device
{
public:
@@ -123,7 +160,7 @@ public:
// Compact Flash storage
//
// Backplane Pro - 12 x extended slots
- //
+ //
void rc2014pro(machine_config &config)
{
RC2014_EXT_BUS(config, m_rc2014_bus, 0);
@@ -140,7 +177,7 @@ public:
RC2014_EXT_SLOT(config, "bus:11", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
RC2014_EXT_SLOT(config, "bus:12", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
}
-
+
//
// RC2014 Zed
//
@@ -167,6 +204,26 @@ public:
RC2014_EXT_SLOT(config, "bus:11", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
RC2014_EXT_SLOT(config, "bus:12", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
}
+
+ //
+ // Backplane Pro - 12 x extended slots
+ //
+ void rc2014bppro(machine_config &config)
+ {
+ RC2014_EXT_BUS(config, m_rc2014_bus, 0);
+ RC2014_EXT_SLOT(config, "bus:1", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:2", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:3", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:4", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:5", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:6", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:7", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:8", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:9", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:10", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:11", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ RC2014_EXT_SLOT(config, "bus:12", m_rc2014_bus, rc2014_ext_bus_modules, nullptr);
+ }
private:
required_device<rc2014_ext_bus_device> m_rc2014_bus;
};
@@ -177,12 +234,67 @@ ROM_END
ROM_START(rc2014zedp)
ROM_END
+ROM_START(rc2014bppro)
+ROM_END
+
+static DEVICE_INPUT_DEFAULTS_START(mini_cpm)
+ DEVICE_INPUT_DEFAULTS("ROM", 0x1, 0x0)
+DEVICE_INPUT_DEFAULTS_END
+
+class rc2014mini_state : public driver_device
+{
+public:
+ rc2014mini_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_rc2014_bus(*this, "bus")
+ { }
+
+ //
+ // RC2014 Mini
+ //
+ // Added by Chris Swan
+ // https://rc2014.co.uk/full-kits/rc2014-mini/
+ //
+ void rc2014mini(machine_config &config)
+ {
+ RC2014_BUS(config, m_rc2014_bus, 0);
+ RC2014_SLOT(config, "board", m_rc2014_bus, rc2014_mini_bus_modules, "mini", true);
+ RC2014_SLOT(config, "bus:1", m_rc2014_bus, rc2014_mini_bus_modules, nullptr);
+ }
+
+ //
+ // RC2014 Mini with CP/M Upgrade
+ //
+ void rc2014minicpm(machine_config &config)
+ {
+ RC2014_BUS(config, m_rc2014_bus, 0);
+ RC2014_SLOT(config, "board", m_rc2014_bus, rc2014_mini_bus_modules, "mini", true).set_option_device_input_defaults("mini", DEVICE_INPUT_DEFAULTS_NAME(mini_cpm));
+ RC2014_SLOT(config, "bus:1", m_rc2014_bus, rc2014_mini_bus_modules, "mini_cpm", true);
+ }
+
+private:
+ required_device<rc2014_bus_device> m_rc2014_bus;
+};
+
+ROM_START(rc2014mini)
+ROM_END
+
+ROM_START(rc2014minicpm)
+ROM_END
+
} // anonymous namespace
// This ties everything together
-// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 2016, rc2014, 0, 0, rc2014, 0, rc2014_state, empty_init, "RFC2795 Ltd", "RC2014 Classic", MACHINE_SUPPORTS_SAVE )
-COMP( 2017, rc2014pro, rc2014, 0, rc2014pro, 0, rc2014pro_state, empty_init, "RFC2795 Ltd", "RC2014 Pro", MACHINE_SUPPORTS_SAVE )
-COMP( 2020, rc2014cl2, rc2014, 0, rc2014cl2, 0, rc2014_state, empty_init, "RFC2795 Ltd", "RC2014 Classic II", MACHINE_SUPPORTS_SAVE )
-COMP( 2018, rc2014zed , rc2014, 0, rc2014zed ,0, rc2014_state, empty_init, "RFC2795 Ltd", "RC2014 Zed", MACHINE_SUPPORTS_SAVE )
-COMP( 2018, rc2014zedp, rc2014, 0, rc2014zedp,0, rc2014pro_state, empty_init, "RFC2795 Ltd", "RC2014 Zed Pro", MACHINE_SUPPORTS_SAVE )
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
+COMP( 2016, rc2014, 0, 0, rc2014, 0, rc2014_state, empty_init, "RFC2795 Ltd", "RC2014 Classic", MACHINE_SUPPORTS_SAVE )
+COMP( 2017, rc2014pro, rc2014, 0, rc2014pro, 0, rc2014pro_state, empty_init, "RFC2795 Ltd", "RC2014 Pro", MACHINE_SUPPORTS_SAVE )
+COMP( 2020, rc2014cl2, rc2014, 0, rc2014cl2, 0, rc2014_state, empty_init, "RFC2795 Ltd", "RC2014 Classic II", MACHINE_SUPPORTS_SAVE )
+COMP( 2018, rc2014zed, rc2014, 0, rc2014zed, 0, rc2014_state, empty_init, "RFC2795 Ltd", "RC2014 Zed", MACHINE_SUPPORTS_SAVE )
+COMP( 2018, rc2014zedp, rc2014, 0, rc2014zedp, 0, rc2014pro_state, empty_init, "RFC2795 Ltd", "RC2014 Zed Pro", MACHINE_SUPPORTS_SAVE )
+COMP( 2016, rc2014mini, rc2014, 0, rc2014mini, 0, rc2014mini_state, empty_init, "RFC2795 Ltd", "RC2014 Mini", MACHINE_SUPPORTS_SAVE )
+COMP( 2016, rc2014minicpm,rc2014, 0, rc2014minicpm, 0, rc2014mini_state, empty_init, "RFC2795 Ltd", "RC2014 Mini with CP/M Upgrade", MACHINE_SUPPORTS_SAVE )
+
+// Backplanes
+COMP( 2016, rc2014bp5, rc2014, 0, rc2014bp5, 0, rc2014_state, empty_init, "RFC2795 Ltd", "RC2014 Backplane-5", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
+COMP( 2016, rc2014bp8, rc2014, 0, rc2014bp8, 0, rc2014_state, empty_init, "RFC2795 Ltd", "RC2014 Backplane-8", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
+COMP( 2017, rc2014bppro, rc2014, 0, rc2014bppro, 0, rc2014pro_state, empty_init, "RFC2795 Ltd", "RC2014 Backplane Pro", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )