diff options
author | 2022-05-17 12:56:38 +1000 | |
---|---|---|
committer | 2022-05-17 12:56:38 +1000 | |
commit | b91e4cd32ed17c42e5b7c1d40e5f3022349581db (patch) | |
tree | a4e3b7eb55b64b1d0768da1f3797e27a8570ee22 /src/mame/drivers/rc2014.cpp | |
parent | 17f0347abdc3e4c147133e6c0ff018352f5f96cc (diff) | |
parent | 7282130cc31b7b518f5be5bc17e07cdab760d7eb (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/mame/drivers/rc2014.cpp')
-rw-r--r-- | src/mame/drivers/rc2014.cpp | 130 |
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 ) |