summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-12-01 12:02:53 -0500
committer AJR <ajrhacker@users.noreply.github.com>2019-12-01 12:05:02 -0500
commit550b5bb87feca909ce411d67b6f632c0762c94b2 (patch)
tree47cd899f6bff75330f387c6c8282335085624337
parent679858e85dd5ac15da3cb795937111bce8873d69 (diff)
m6802, nsc8105: Internalize internal RAM (nw)
-rw-r--r--src/devices/cpu/m6800/m6800.cpp16
-rw-r--r--src/devices/cpu/m6800/m6800.h8
-rw-r--r--src/devices/machine/swtpc8212.cpp1
-rw-r--r--src/mame/audio/bally.cpp3
-rw-r--r--src/mame/audio/qix.cpp1
-rw-r--r--src/mame/audio/redalert.cpp6
-rw-r--r--src/mame/audio/zaccaria.cpp2
-rw-r--r--src/mame/drivers/8080bw.cpp1
-rw-r--r--src/mame/drivers/barni.cpp1
-rw-r--r--src/mame/drivers/by35.cpp6
-rw-r--r--src/mame/drivers/clowndwn.cpp2
-rw-r--r--src/mame/drivers/datum.cpp12
-rw-r--r--src/mame/drivers/didact.cpp11
-rw-r--r--src/mame/drivers/e100.cpp1
-rw-r--r--src/mame/drivers/eacc.cpp3
-rw-r--r--src/mame/drivers/efdt.cpp1
-rw-r--r--src/mame/drivers/hankin.cpp2
-rw-r--r--src/mame/drivers/hyperspt.cpp1
-rw-r--r--src/mame/drivers/jangou.cpp1
-rw-r--r--src/mame/drivers/jr200.cpp2
-rw-r--r--src/mame/drivers/jvh.cpp1
-rw-r--r--src/mame/drivers/ltd.cpp5
-rw-r--r--src/mame/drivers/mekd3.cpp3
-rw-r--r--src/mame/drivers/mekd5.cpp3
-rw-r--r--src/mame/drivers/murogem.cpp1
-rw-r--r--src/mame/drivers/nightgal.cpp1
-rw-r--r--src/mame/drivers/nyny.cpp2
-rw-r--r--src/mame/drivers/pubtimed.cpp1
-rw-r--r--src/mame/drivers/r2dtank.cpp1
-rw-r--r--src/mame/drivers/s11.cpp1
-rw-r--r--src/mame/drivers/s11a.cpp1
-rw-r--r--src/mame/drivers/s11b.cpp1
-rw-r--r--src/mame/drivers/s3.cpp1
-rw-r--r--src/mame/drivers/s6.cpp2
-rw-r--r--src/mame/drivers/s6a.cpp2
-rw-r--r--src/mame/drivers/s8.cpp3
-rw-r--r--src/mame/drivers/s8a.cpp3
-rw-r--r--src/mame/drivers/seicross.cpp2
-rw-r--r--src/mame/drivers/taito.cpp4
-rw-r--r--src/mame/drivers/tdv2324.cpp1
-rw-r--r--src/mame/drivers/trackfld.cpp1
-rw-r--r--src/mame/drivers/tubep.cpp4
-rw-r--r--src/mame/drivers/votrtnt.cpp3
-rw-r--r--src/mame/includes/s11.h3
-rw-r--r--src/mame/includes/tdv2324.h2
-rw-r--r--src/mame/includes/tubep.h3
-rw-r--r--src/mame/machine/cmi_ankbd.cpp1
-rw-r--r--src/mame/machine/cmi_mkbd.cpp1
48 files changed, 71 insertions, 67 deletions
diff --git a/src/devices/cpu/m6800/m6800.cpp b/src/devices/cpu/m6800/m6800.cpp
index 86b14810771..eaf193b4c77 100644
--- a/src/devices/cpu/m6800/m6800.cpp
+++ b/src/devices/cpu/m6800/m6800.cpp
@@ -348,13 +348,27 @@ m6802_cpu_device::m6802_cpu_device(const machine_config &mconfig, const char *ta
}
m6802_cpu_device::m6802_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const op_func *insn, const uint8_t *cycles)
- : m6800_cpu_device(mconfig, type, tag, owner, clock, insn, cycles, address_map_constructor())
+ : m6800_cpu_device(mconfig, type, tag, owner, clock, insn, cycles, address_map_constructor(FUNC(m6802_cpu_device::ram_map), this))
+ , m_ram_enable(true)
{
}
+void m6802_cpu_device::ram_map(address_map &map)
+{
+ if (m_ram_enable)
+ map(0x0000, 0x007f).ram();
+}
+
m6808_cpu_device::m6808_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: m6802_cpu_device(mconfig, M6808, tag, owner, clock, m6800_insn, cycles_6800)
{
+ set_ram_enable(false);
+}
+
+void m6808_cpu_device::device_validity_check(validity_checker &valid) const
+{
+ if (m_ram_enable)
+ osd_printf_error("MC6808 should not have internal RAM enabled\n");
}
nsc8105_cpu_device::nsc8105_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
diff --git a/src/devices/cpu/m6800/m6800.h b/src/devices/cpu/m6800/m6800.h
index 0e8ef732058..82131562637 100644
--- a/src/devices/cpu/m6800/m6800.h
+++ b/src/devices/cpu/m6800/m6800.h
@@ -368,12 +368,19 @@ class m6802_cpu_device : public m6800_cpu_device
public:
m6802_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ void set_ram_enable(bool re) { assert(!configured()); m_ram_enable = re; }
+
protected:
m6802_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, const m6800_cpu_device::op_func *insn, const uint8_t *cycles);
virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const noexcept override { return (clocks + 4 - 1) / 4; }
virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const noexcept override { return (cycles * 4); }
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
+
+ bool m_ram_enable;
+
+private:
+ void ram_map(address_map &map);
};
@@ -384,6 +391,7 @@ public:
protected:
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
+ virtual void device_validity_check(validity_checker &valid) const override;
};
diff --git a/src/devices/machine/swtpc8212.cpp b/src/devices/machine/swtpc8212.cpp
index 3625e7a6225..bd7b33e23e9 100644
--- a/src/devices/machine/swtpc8212.cpp
+++ b/src/devices/machine/swtpc8212.cpp
@@ -421,7 +421,6 @@ void swtpc8212_device::device_reset()
void swtpc8212_device::mem_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x0080, 0x0083).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x0088, 0x0088).w("crtc", FUNC(mc6845_device::address_w));
map(0x0089, 0x0089).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
diff --git a/src/mame/audio/bally.cpp b/src/mame/audio/bally.cpp
index 90576c12f72..3b712c9b678 100644
--- a/src/mame/audio/bally.cpp
+++ b/src/mame/audio/bally.cpp
@@ -597,7 +597,6 @@ TIMER_CALLBACK_MEMBER(bally_squawk_n_talk_device::sound_int_sync)
void bally_squawk_n_talk_device::squawk_n_talk_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x007f).ram(); // internal RAM, could also be jumpered to use a 6808
map(0x0080, 0x0083).mirror(0x4f6c).rw("pia2", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x0090, 0x0093).mirror(0x4f6c).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x1000, 0x1000).mirror(0x40ff).w("dac", FUNC(dac_byte_interface::data_w));
@@ -612,7 +611,7 @@ void bally_squawk_n_talk_device::squawk_n_talk_map(address_map &map)
//-------------------------------------------------
void bally_squawk_n_talk_device::device_add_mconfig(machine_config &config)
{
- M6802(config, m_cpu, DERIVED_CLOCK(1, 1));
+ M6802(config, m_cpu, DERIVED_CLOCK(1, 1)); // could also be jumpered to use a 6808
m_cpu->set_addrmap(AS_PROGRAM, &bally_squawk_n_talk_device::squawk_n_talk_map);
PIA6821(config, m_pia1, 0);
diff --git a/src/mame/audio/qix.cpp b/src/mame/audio/qix.cpp
index 79572f7fbfd..3bbca8ff066 100644
--- a/src/mame/audio/qix.cpp
+++ b/src/mame/audio/qix.cpp
@@ -156,7 +156,6 @@ WRITE_LINE_MEMBER(qix_state::qix_pia_sint)
void qix_state::audio_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x2000, 0x2003).mirror(0x5ffc).rw(m_sndpia2, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x4000, 0x4003).mirror(0x3ffc).rw(m_sndpia1, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0xd000, 0xffff).rom();
diff --git a/src/mame/audio/redalert.cpp b/src/mame/audio/redalert.cpp
index c6d93755eb8..1d34631bbc3 100644
--- a/src/mame/audio/redalert.cpp
+++ b/src/mame/audio/redalert.cpp
@@ -303,10 +303,8 @@ WRITE8_MEMBER(redalert_state::demoneye_ay8910_data_w)
void redalert_state::demoneye_audio_map(address_map &map)
{
- map.global_mask(0x3fff);
- map(0x0000, 0x007f).ram();
- map(0x0500, 0x0503).rw("sndpia", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
- map(0x2000, 0x3fff).rom();
+ map(0x0500, 0x0503).mirror(0xc000).rw("sndpia", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x2000, 0x3fff).mirror(0xc000).rom();
}
diff --git a/src/mame/audio/zaccaria.cpp b/src/mame/audio/zaccaria.cpp
index 463136b9bd1..2138f651068 100644
--- a/src/mame/audio/zaccaria.cpp
+++ b/src/mame/audio/zaccaria.cpp
@@ -31,7 +31,6 @@ DEFINE_DEVICE_TYPE(ZACCARIA_1B11142, zac1b11142_audio_device, "zac1b11142", "Zac
void zac1b111xx_melody_base::zac1b111xx_melody_base_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x007f).ram(); // 6802 internal RAM
map(0x400c, 0x400f).mirror(0x1ff0).rw("melodypia", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
}
@@ -132,7 +131,6 @@ void zac1b11142_audio_device::zac1b11142_melody_map(address_map &map)
void zac1b11142_audio_device::zac1b11142_audio_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x007f).ram(); // 6802 internal RAM
map(0x0090, 0x0093).mirror(0x8f6c).rw("pia_1i", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x1000, 0x1000).mirror(0x83ff).w("dac", FUNC(dac_byte_interface::data_w));
map(0x1400, 0x1400).mirror(0xc3ff).w(FUNC(zac1b11142_audio_device::melody_command_w));
diff --git a/src/mame/drivers/8080bw.cpp b/src/mame/drivers/8080bw.cpp
index 2d7165a70a0..268956baecd 100644
--- a/src/mame/drivers/8080bw.cpp
+++ b/src/mame/drivers/8080bw.cpp
@@ -876,7 +876,6 @@ void _8080bw_state::invrvnge_io_map(address_map &map)
void _8080bw_state::invrvnge_sound_map(address_map &map)
{
- map(0x0000, 0x007f).ram(); // inside CPU
map(0xa001, 0xa001).r("psg",FUNC(ay8910_device::data_r));
map(0xa002, 0xa003).w("psg",FUNC(ay8910_device::data_address_w));
map(0xc000, 0xc7ff).mirror(0x1800).rom();
diff --git a/src/mame/drivers/barni.cpp b/src/mame/drivers/barni.cpp
index ff225775bd8..47aa413f01a 100644
--- a/src/mame/drivers/barni.cpp
+++ b/src/mame/drivers/barni.cpp
@@ -55,7 +55,6 @@ void barni_state::subcpu_map(address_map &map)
void barni_state::audiocpu_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0xc000, 0xffff).rom();
}
diff --git a/src/mame/drivers/by35.cpp b/src/mame/drivers/by35.cpp
index a6b37f6d5d3..76fd6d25bcc 100644
--- a/src/mame/drivers/by35.cpp
+++ b/src/mame/drivers/by35.cpp
@@ -242,7 +242,6 @@ void by35_state::by35_map(address_map &map)
void by35_state::nuovo_map(address_map &map)
{
map(0x0000, 0x07ff).ram().share("nvram");
-// map(0x0000, 0x007f).ram(); // Schematics infer that the M6802 internal RAM is disabled.
map(0x0088, 0x008b).rw(m_pia_u10, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x0090, 0x0093).rw(m_pia_u11, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x1000, 0xffff).rom();
@@ -1502,8 +1501,9 @@ void by35_state::nuovo(machine_config &config)
{
by35(config);
- M6802(config.replace(), m_maincpu, 2000000); // ? MHz ? Large crystal next to CPU, schematics don't indicate speed.
- m_maincpu->set_addrmap(AS_PROGRAM, &by35_state::nuovo_map);
+ m6802_cpu_device &maincpu(M6802(config.replace(), m_maincpu, 2000000)); // ? MHz ? Large crystal next to CPU, schematics don't indicate speed.
+ maincpu.set_addrmap(AS_PROGRAM, &by35_state::nuovo_map);
+ maincpu.set_ram_enable(false); // Schematics imply that the M6802 internal RAM is disabled.
}
void by35_state::as2888(machine_config &config)
diff --git a/src/mame/drivers/clowndwn.cpp b/src/mame/drivers/clowndwn.cpp
index e31862cef12..1112277744c 100644
--- a/src/mame/drivers/clowndwn.cpp
+++ b/src/mame/drivers/clowndwn.cpp
@@ -59,7 +59,7 @@ void clowndwn_state::machine_reset()
void clowndwn_state::clowndwn(machine_config &config)
{
/* basic machine hardware */
- M6802(config, m_maincpu, 8000000); // unknown type and clock
+ M6808(config, m_maincpu, 8000000); // unknown type and clock
m_maincpu->set_addrmap(AS_PROGRAM, &clowndwn_state::clowndwn_map);
PIA6821(config, "pia0", 0);
diff --git a/src/mame/drivers/datum.cpp b/src/mame/drivers/datum.cpp
index fc218695004..a49a560fe80 100644
--- a/src/mame/drivers/datum.cpp
+++ b/src/mame/drivers/datum.cpp
@@ -95,13 +95,11 @@ private:
void datum_state::datum_mem(address_map &map)
{
map.unmap_value_high();
- map.global_mask(0x7fff); // A15 not used
- map(0x0000, 0x007f).ram(); // inside CPU
- map(0x1000, 0x13ff).mirror(0x0c00).ram(); // main ram 2x 2114
- map(0x4000, 0x4001).mirror(0x0ffe).rw(m_acia, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
- map(0x5000, 0x5003).mirror(0x0ffc).rw(m_pia2, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
- map(0x6000, 0x6003).mirror(0x0ffc).rw(m_pia1, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
- map(0x7000, 0x77ff).mirror(0x0800).rom().region("roms", 0);
+ map(0x1000, 0x13ff).mirror(0x8c00).ram(); // main ram 2x 2114
+ map(0x4000, 0x4001).mirror(0x8ffe).rw(m_acia, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0x5000, 0x5003).mirror(0x8ffc).rw(m_pia2, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x6000, 0x6003).mirror(0x8ffc).rw(m_pia1, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0x7000, 0x77ff).mirror(0x8800).rom().region("roms", 0);
}
diff --git a/src/mame/drivers/didact.cpp b/src/mame/drivers/didact.cpp
index 899653f8409..56b2e195eca 100644
--- a/src/mame/drivers/didact.cpp
+++ b/src/mame/drivers/didact.cpp
@@ -649,7 +649,6 @@ void modulab_state::machine_start()
// This address map is traced from pcb
void modulab_state::modulab_map(address_map &map)
{
- //map(0x0000, 0x007f).ram() // Schematics holds RAM enable low so that the M6802 internal RAM is disabled.
map(0x0000, 0x03ff).ram().mirror(0xe000); // RAM0 always present 2114
map(0x0400, 0x07ff).ram().mirror(0xe000); // RAM1 optional 2114
// map(0x0800, 0x13ff).ram().mirror(0xe000); // expansion port area consisting of 3 chip selects each selecting 0x3ff byte addresses
@@ -781,8 +780,9 @@ INPUT_CHANGED_MEMBER(didact_state::trigger_reset)
void modulab_state::modulab(machine_config &config)
{
- M6802(config, m_maincpu, XTAL(4'000'000));
- m_maincpu->set_addrmap(AS_PROGRAM, &modulab_state::modulab_map);
+ m6802_cpu_device &maincpu(M6802(config, m_maincpu, XTAL(4'000'000)));
+ maincpu.set_ram_enable(false); // Schematics holds RAM enable low so that the M6802 internal RAM is disabled.
+ maincpu.set_addrmap(AS_PROGRAM, &modulab_state::modulab_map);
config.set_default_layout(layout_modulab);
/* Devices */
@@ -805,8 +805,9 @@ void modulab_state::modulab(machine_config &config)
void md6802_state::md6802(machine_config &config)
{
- M6802(config, m_maincpu, XTAL(4'000'000));
- m_maincpu->set_addrmap(AS_PROGRAM, &md6802_state::md6802_map);
+ m6802_cpu_device &maincpu(M6802(config, m_maincpu, XTAL(4'000'000)));
+ maincpu.set_ram_enable(false);
+ maincpu.set_addrmap(AS_PROGRAM, &md6802_state::md6802_map);
config.set_default_layout(layout_md6802);
/* Devices */
diff --git a/src/mame/drivers/e100.cpp b/src/mame/drivers/e100.cpp
index 708c0e7e87d..65ec913ec7a 100644
--- a/src/mame/drivers/e100.cpp
+++ b/src/mame/drivers/e100.cpp
@@ -537,6 +537,7 @@ INPUT_PORTS_END
void e100_state::e100(machine_config &config)
{
M6802(config, m_maincpu, XTAL(4'000'000));
+ m_maincpu->set_ram_enable(false);
m_maincpu->set_addrmap(AS_PROGRAM, &e100_state::e100_map);
/* Devices */
diff --git a/src/mame/drivers/eacc.cpp b/src/mame/drivers/eacc.cpp
index be855d4e75c..3a126dc3056 100644
--- a/src/mame/drivers/eacc.cpp
+++ b/src/mame/drivers/eacc.cpp
@@ -85,7 +85,7 @@ private:
bool m_nmi;
virtual void machine_reset() override;
virtual void machine_start() override { m_digits.resolve(); }
- required_device<cpu_device> m_maincpu;
+ required_device<m6802_cpu_device> m_maincpu;
required_device<pia6821_device> m_pia;
required_shared_ptr<uint8_t> m_p_nvram;
output_finder<7> m_digits;
@@ -249,6 +249,7 @@ void eacc_state::eacc(machine_config &config)
{
/* basic machine hardware */
M6802(config, m_maincpu, XTAL(3'579'545)); /* Divided by 4 inside the m6802*/
+ m_maincpu->set_ram_enable(false); // FIXME: needs standby support
m_maincpu->set_addrmap(AS_PROGRAM, &eacc_state::eacc_mem);
config.set_default_layout(layout_eacc);
diff --git a/src/mame/drivers/efdt.cpp b/src/mame/drivers/efdt.cpp
index ef200da650c..ad981cc4cda 100644
--- a/src/mame/drivers/efdt.cpp
+++ b/src/mame/drivers/efdt.cpp
@@ -362,7 +362,6 @@ void efdt_state::efdt_map(address_map &map)
void efdt_state::efdt_snd_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x6000, 0x6000).nopw();
map(0x7000, 0x7000).nopw();
map(0x8000, 0x83ff).ram();
diff --git a/src/mame/drivers/hankin.cpp b/src/mame/drivers/hankin.cpp
index d20282fff41..032c7e75280 100644
--- a/src/mame/drivers/hankin.cpp
+++ b/src/mame/drivers/hankin.cpp
@@ -103,7 +103,6 @@ private:
void hankin_state::hankin_map(address_map &map)
{
map.global_mask(0x1fff);
- map(0x0000, 0x007f).ram(); // internal to the cpu
map(0x0088, 0x008b).rw(m_ic11, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x0090, 0x0093).rw(m_ic10, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x0200, 0x02ff).ram().share("nvram"); // 5101L 4-bit static ram
@@ -113,7 +112,6 @@ void hankin_state::hankin_map(address_map &map)
void hankin_state::hankin_sub_map(address_map &map)
{
map.global_mask(0x1fff);
- map(0x0000, 0x007f).ram(); // internal to the cpu
map(0x0080, 0x0083).rw(m_ic2, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x1000, 0x17ff).rom().mirror(0x800).region("audiocpu", 0);
}
diff --git a/src/mame/drivers/hyperspt.cpp b/src/mame/drivers/hyperspt.cpp
index ee31d9e5393..2ff1a7b9870 100644
--- a/src/mame/drivers/hyperspt.cpp
+++ b/src/mame/drivers/hyperspt.cpp
@@ -348,7 +348,6 @@ void hyperspt_state::hyperspt(machine_config &config)
void hyperspt_state::hyprolyb_adpcm_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x1000, 0x1000).r("hyprolyb_adpcm", FUNC(hyprolyb_adpcm_device::data_r));
map(0x1001, 0x1001).r("hyprolyb_adpcm", FUNC(hyprolyb_adpcm_device::ready_r));
map(0x1002, 0x1002).w("hyprolyb_adpcm", FUNC(hyprolyb_adpcm_device::msm_data_w));
diff --git a/src/mame/drivers/jangou.cpp b/src/mame/drivers/jangou.cpp
index c30e06ba736..9753f643edc 100644
--- a/src/mame/drivers/jangou.cpp
+++ b/src/mame/drivers/jangou.cpp
@@ -406,7 +406,6 @@ void jangou_state::jngolady_cpu1_io(address_map &map)
void jangou_state::nsc_map(address_map &map)
{
- map(0x0000, 0x007f).ram(); //internal ram for irq etc.
map(0x8000, 0x8000).nopw(); //write-only,irq related?
map(0x9000, 0x9000).rw(FUNC(jangou_state::slave_com_r), FUNC(jangou_state::slave_com_w));
map(0xc000, 0xc7ff).ram().share("share1");
diff --git a/src/mame/drivers/jr200.cpp b/src/mame/drivers/jr200.cpp
index 4228a4fdd41..5e6b77f7611 100644
--- a/src/mame/drivers/jr200.cpp
+++ b/src/mame/drivers/jr200.cpp
@@ -542,7 +542,7 @@ void jr200_state::machine_reset()
void jr200_state::jr200(machine_config &config)
{
/* basic machine hardware */
- M6802(config, m_maincpu, XTAL(14'318'181) / 4); /* MN1800A, ? MHz assumption that it is same as JR-100*/
+ M6808(config, m_maincpu, XTAL(14'318'181) / 4); /* MN1800A, ? MHz assumption that it is same as JR-100*/
m_maincpu->set_addrmap(AS_PROGRAM, &jr200_state::jr200_mem);
// MN1544(config, "mn1544", ?);
diff --git a/src/mame/drivers/jvh.cpp b/src/mame/drivers/jvh.cpp
index 616fcc8cac7..940102614fb 100644
--- a/src/mame/drivers/jvh.cpp
+++ b/src/mame/drivers/jvh.cpp
@@ -104,7 +104,6 @@ void jvh_state::movmastr_io(address_map &map)
void jvh_state::jvh_sub_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x0080, 0x008f).m("via", FUNC(via6522_device::map));
map(0xc000, 0xdfff).mirror(0x2000).rom();
}
diff --git a/src/mame/drivers/ltd.cpp b/src/mame/drivers/ltd.cpp
index d3d2c010dd3..a701dc3b60f 100644
--- a/src/mame/drivers/ltd.cpp
+++ b/src/mame/drivers/ltd.cpp
@@ -524,8 +524,9 @@ TIMER_DEVICE_CALLBACK_MEMBER( ltd_state::timer_r )
void ltd_state::ltd3(machine_config &config)
{
/* basic machine hardware */
- M6802(config, m_maincpu, XTAL(3'579'545));
- m_maincpu->set_addrmap(AS_PROGRAM, &ltd_state::ltd3_map);
+ m6802_cpu_device &maincpu(M6802(config, m_maincpu, XTAL(3'579'545)));
+ maincpu.set_ram_enable(false); // FIXME: needs standby support
+ maincpu.set_addrmap(AS_PROGRAM, &ltd_state::ltd3_map);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
diff --git a/src/mame/drivers/mekd3.cpp b/src/mame/drivers/mekd3.cpp
index 97757e46de3..1400fb585f2 100644
--- a/src/mame/drivers/mekd3.cpp
+++ b/src/mame/drivers/mekd3.cpp
@@ -186,7 +186,7 @@ private:
DECLARE_WRITE8_MEMBER(trace_timer_w);
DECLARE_READ8_MEMBER(trace_timer_r);
- required_device<cpu_device> m_maincpu;
+ required_device<m6802_cpu_device> m_maincpu;
required_device<ram_device> m_ram;
required_memory_bank m_ram_bank;
required_device<input_merger_device> m_mainirq;
@@ -970,6 +970,7 @@ DEVICE_INPUT_DEFAULTS_END
void mekd3_state::mekd3(machine_config &config)
{
M6802(config, m_maincpu, XTAL_MEKD3); // 894.8 kHz clock
+ m_maincpu->set_ram_enable(false);
m_maincpu->set_addrmap(AS_PROGRAM, &mekd3_state::mekd3_mem);
RAM(config, m_ram).set_default_size("256K").set_default_value(0);
diff --git a/src/mame/drivers/mekd5.cpp b/src/mame/drivers/mekd5.cpp
index 00295a92d92..840b8ea27bc 100644
--- a/src/mame/drivers/mekd5.cpp
+++ b/src/mame/drivers/mekd5.cpp
@@ -144,7 +144,7 @@ private:
uint8_t m_digit;
virtual void machine_start() override;
virtual void machine_reset() override;
- required_device<cpu_device> m_maincpu;
+ required_device<m6802_cpu_device> m_maincpu;
required_device<pia6821_device> m_kpd_pia;
required_device<pia6821_device> m_user_pia;
required_device<pwm_display_device> m_display;
@@ -458,6 +458,7 @@ DEVICE_INPUT_DEFAULTS_END
void mekd5_state::mekd5(machine_config &config)
{
M6802(config, m_maincpu, XTAL_MEKD5); /* 894.8 kHz clock */
+ m_maincpu->set_ram_enable(false);
m_maincpu->set_addrmap(AS_PROGRAM, &mekd5_state::mekd5_mem);
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline(m_maincpu, M6802_IRQ_LINE);
diff --git a/src/mame/drivers/murogem.cpp b/src/mame/drivers/murogem.cpp
index c6344599aee..622d8d38617 100644
--- a/src/mame/drivers/murogem.cpp
+++ b/src/mame/drivers/murogem.cpp
@@ -161,7 +161,6 @@ WRITE8_MEMBER(murogem_state::outport_w)
void murogem_state::murogem_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x4000, 0x4000).w("crtc", FUNC(mc6845_device::address_w));
map(0x4001, 0x4001).w("crtc", FUNC(mc6845_device::register_w));
map(0x5000, 0x5000).portr("IN0");
diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp
index 8a941df5353..4b5ac298fb2 100644
--- a/src/mame/drivers/nightgal.cpp
+++ b/src/mame/drivers/nightgal.cpp
@@ -374,7 +374,6 @@ WRITE8_MEMBER(nightgal_state::output_w)
void nightgal_state::common_nsc_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x0080, 0x0080).portr("BLIT_PORT");
map(0x0081, 0x0083).r(FUNC(nightgal_state::royalqn_nsc_blit_r));
map(0x00a0, 0x00af).w(m_blitter, FUNC(jangou_blitter_device::vregs_w));
diff --git a/src/mame/drivers/nyny.cpp b/src/mame/drivers/nyny.cpp
index c1186106c25..39cb9e8246b 100644
--- a/src/mame/drivers/nyny.cpp
+++ b/src/mame/drivers/nyny.cpp
@@ -452,7 +452,6 @@ void nyny_state::nyny_main_map(address_map &map)
void nyny_state::nyny_audio_1_map(address_map &map)
{
map.global_mask(0x7fff);
- map(0x0000, 0x007f).ram(); /* internal RAM */
map(0x0080, 0x0fff).noprw();
map(0x1000, 0x1000).mirror(0x0fff).r(m_soundlatch, FUNC(generic_latch_8_device::read)).w(FUNC(nyny_state::audio_1_answer_w));
map(0x2000, 0x2000).mirror(0x0fff).portr("SW3");
@@ -470,7 +469,6 @@ void nyny_state::nyny_audio_1_map(address_map &map)
void nyny_state::nyny_audio_2_map(address_map &map)
{
map.global_mask(0x7fff);
- map(0x0000, 0x007f).ram(); /* internal RAM */
map(0x0080, 0x0fff).noprw();
map(0x1000, 0x1000).mirror(0x0fff).r(m_soundlatch2, FUNC(generic_latch_8_device::read));
map(0x2000, 0x2000).mirror(0x0ffe).r("ay3", FUNC(ay8910_device::data_r));
diff --git a/src/mame/drivers/pubtimed.cpp b/src/mame/drivers/pubtimed.cpp
index 2200b786d32..c9861813f1a 100644
--- a/src/mame/drivers/pubtimed.cpp
+++ b/src/mame/drivers/pubtimed.cpp
@@ -31,7 +31,6 @@ private:
void pubtimed_state::mem_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x0800, 0x080f).ram(); // LCD segment driver?
map(0x0820, 0x083f).ram(); // LCD segment driver?
map(0x4000, 0x4000).portr("UNKNOWN");
diff --git a/src/mame/drivers/r2dtank.cpp b/src/mame/drivers/r2dtank.cpp
index 8860359a3fb..0d701f85636 100644
--- a/src/mame/drivers/r2dtank.cpp
+++ b/src/mame/drivers/r2dtank.cpp
@@ -348,7 +348,6 @@ void r2dtank_state::r2dtank_main_map(address_map &map)
void r2dtank_state::r2dtank_audio_map(address_map &map)
{
- map(0x0000, 0x007f).ram(); /* internal RAM */
map(0xd000, 0xd003).rw("pia_audio", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0xf000, 0xf000).rw(FUNC(r2dtank_state::audio_command_r), FUNC(r2dtank_state::audio_answer_w));
map(0xf800, 0xffff).rom();
diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp
index b1966c18077..9eca1fc247d 100644
--- a/src/mame/drivers/s11.cpp
+++ b/src/mame/drivers/s11.cpp
@@ -20,7 +20,6 @@ ToDo:
#include "emu.h"
#include "includes/s11.h"
-#include "cpu/m6800/m6800.h"
#include "cpu/m6809/m6809.h"
#include "sound/volt_reg.h"
#include "speaker.h"
diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp
index da5e5170178..37132cfb715 100644
--- a/src/mame/drivers/s11a.cpp
+++ b/src/mame/drivers/s11a.cpp
@@ -237,6 +237,7 @@ void s11a_state::s11a(machine_config &config)
/* Add the soundcard */
M6802(config, m_audiocpu, XTAL(4'000'000));
+ m_audiocpu->set_ram_enable(false);
m_audiocpu->set_addrmap(AS_PROGRAM, &s11a_state::s11a_audio_map);
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp
index cf4b8effcb2..d4509ebbd50 100644
--- a/src/mame/drivers/s11b.cpp
+++ b/src/mame/drivers/s11b.cpp
@@ -313,6 +313,7 @@ void s11b_state::s11b(machine_config &config)
/* Add the soundcard */
M6802(config, m_audiocpu, XTAL(4'000'000));
+ m_audiocpu->set_ram_enable(false);
m_audiocpu->set_addrmap(AS_PROGRAM, &s11b_state::s11b_audio_map);
SPEAKER(config, "speaker").front_center();
diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp
index 9a7121a8c79..409aa0f60f0 100644
--- a/src/mame/drivers/s3.cpp
+++ b/src/mame/drivers/s3.cpp
@@ -130,7 +130,6 @@ void s3_state::s3_main_map(address_map &map)
void s3_state::s3_audio_map(address_map &map)
{
map.global_mask(0xfff);
- map(0x0000, 0x007f).ram();
map(0x0400, 0x0403).rw(m_pias, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); // sounds
map(0x0800, 0x0fff).rom().region("audioroms", 0);
}
diff --git a/src/mame/drivers/s6.cpp b/src/mame/drivers/s6.cpp
index 859102df718..ce494940de2 100644
--- a/src/mame/drivers/s6.cpp
+++ b/src/mame/drivers/s6.cpp
@@ -141,7 +141,7 @@ void s6_state::s6_main_map(address_map &map)
void s6_state::s6_audio_map(address_map &map)
{
map.global_mask(0x7fff);
- map(0x0000, 0x00ff).ram();
+ map(0x0080, 0x00ff).ram(); // external 6810 RAM
map(0x0400, 0x0403).rw(m_pias, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x3000, 0x7fff).rom().region("audioroms", 0);
}
diff --git a/src/mame/drivers/s6a.cpp b/src/mame/drivers/s6a.cpp
index 39b3aabb706..a7cfc05c776 100644
--- a/src/mame/drivers/s6a.cpp
+++ b/src/mame/drivers/s6a.cpp
@@ -133,7 +133,7 @@ void s6a_state::s6a_main_map(address_map &map)
void s6a_state::s6a_audio_map(address_map &map)
{
- map(0x0000, 0x00ff).ram();
+ map(0x0080, 0x00ff).ram(); // external 6810 RAM
map(0x0400, 0x0403).mirror(0x8000).rw(m_pias, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0xb000, 0xffff).rom().region("audioroms", 0);
}
diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp
index 3aaa9aca636..be397165e90 100644
--- a/src/mame/drivers/s8.cpp
+++ b/src/mame/drivers/s8.cpp
@@ -109,7 +109,7 @@ private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
static const device_timer_id TIMER_IRQ = 0;
virtual void machine_start() override { m_digits.resolve(); }
- required_device<cpu_device> m_maincpu;
+ required_device<m6802_cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<pia6821_device> m_pias;
required_device<pia6821_device> m_pia21;
@@ -321,6 +321,7 @@ void s8_state::s8(machine_config &config)
{
/* basic machine hardware */
M6802(config, m_maincpu, XTAL(4'000'000));
+ m_maincpu->set_ram_enable(false);
m_maincpu->set_addrmap(AS_PROGRAM, &s8_state::s8_main_map);
MCFG_MACHINE_RESET_OVERRIDE(s8_state, s8)
diff --git a/src/mame/drivers/s8a.cpp b/src/mame/drivers/s8a.cpp
index 95cc85f1020..8d7081820c8 100644
--- a/src/mame/drivers/s8a.cpp
+++ b/src/mame/drivers/s8a.cpp
@@ -85,7 +85,7 @@ private:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
static const device_timer_id TIMER_IRQ = 0;
virtual void machine_start() override { m_digits.resolve(); }
- required_device<cpu_device> m_maincpu;
+ required_device<m6802_cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<pia6821_device> m_pias;
required_device<pia6821_device> m_pia21;
@@ -293,6 +293,7 @@ void s8a_state::s8a(machine_config &config)
{
/* basic machine hardware */
M6802(config, m_maincpu, XTAL(4'000'000));
+ m_maincpu->set_ram_enable(false);
m_maincpu->set_addrmap(AS_PROGRAM, &s8a_state::s8a_main_map);
MCFG_MACHINE_RESET_OVERRIDE(s8a_state, s8a)
diff --git a/src/mame/drivers/seicross.cpp b/src/mame/drivers/seicross.cpp
index 6b6e6571f32..b434895ee13 100644
--- a/src/mame/drivers/seicross.cpp
+++ b/src/mame/drivers/seicross.cpp
@@ -135,7 +135,6 @@ void seicross_state::main_portmap(address_map &map)
void seicross_state::mcu_nvram_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x1000, 0x10ff).ram().share("nvram");
map(0x2000, 0x2000).w(FUNC(seicross_state::dac_w));
map(0x8000, 0xf7ff).rom().region("maincpu", 0);
@@ -144,7 +143,6 @@ void seicross_state::mcu_nvram_map(address_map &map)
void seicross_state::mcu_no_nvram_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x1003, 0x1003).portr("DSW1"); /* DSW1 */
map(0x1005, 0x1005).portr("DSW2"); /* DSW2 */
map(0x1006, 0x1006).portr("DSW3"); /* DSW3 */
diff --git a/src/mame/drivers/taito.cpp b/src/mame/drivers/taito.cpp
index bcaeda525a8..5b5470e43ae 100644
--- a/src/mame/drivers/taito.cpp
+++ b/src/mame/drivers/taito.cpp
@@ -140,7 +140,6 @@ void taito_state::taito_map(address_map &map)
void taito_state::taito_sub_map(address_map &map)
{
map.global_mask(0x1fff);
- map(0x0000, 0x007f).ram(); // internal to the cpu
map(0x0400, 0x0403).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x0800, 0x1fff).rom().region("cpu2", 0x0800);
}
@@ -148,7 +147,6 @@ void taito_state::taito_sub_map(address_map &map)
void taito_state::taito_sub_map2(address_map &map)
{
map.global_mask(0x3fff);
- map(0x0000, 0x007f).ram(); // internal to the cpu
map(0x0400, 0x0403).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x2000, 0x3fff).rom().region("cpu2", 0x2000);
}
@@ -156,7 +154,6 @@ void taito_state::taito_sub_map2(address_map &map)
void taito_state::taito_sub_map5(address_map &map)
{
map.global_mask(0x7fff);
- map(0x0000, 0x007f).ram(); // internal to the cpu
map(0x0400, 0x0403).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x1000, 0x1000).w("aysnd_0", FUNC(ay8910_device::address_w));
map(0x1003, 0x1003).w("aysnd_0", FUNC(ay8910_device::address_w));
@@ -194,7 +191,6 @@ void taito_state::shock_map(address_map &map)
void taito_state::shock_sub_map(address_map &map)
{
map.global_mask(0x0fff);
- map(0x0000, 0x007f).ram(); // internal to the cpu
map(0x0400, 0x0403).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x0800, 0x0fff).rom().region("cpu2", 0);
}
diff --git a/src/mame/drivers/tdv2324.cpp b/src/mame/drivers/tdv2324.cpp
index 5a194e6b5da..f1f47245bab 100644
--- a/src/mame/drivers/tdv2324.cpp
+++ b/src/mame/drivers/tdv2324.cpp
@@ -276,6 +276,7 @@ void tdv2324_state::tdv2324(machine_config &config)
m_subcpu->set_addrmap(AS_IO, &tdv2324_state::tdv2324_sub_io);
M6802(config, m_fdccpu, 8000000/2); // ???
+ m_fdccpu->set_ram_enable(false);
m_fdccpu->set_addrmap(AS_PROGRAM, &tdv2324_state::tdv2324_fdc_mem);
// video hardware
diff --git a/src/mame/drivers/trackfld.cpp b/src/mame/drivers/trackfld.cpp
index 4a68de3cb01..2899dd62a42 100644
--- a/src/mame/drivers/trackfld.cpp
+++ b/src/mame/drivers/trackfld.cpp
@@ -1032,7 +1032,6 @@ void trackfld_state::yieartf(machine_config &config)
void trackfld_state::hyprolyb_adpcm_map(address_map &map)
{
- map(0x0000, 0x007f).ram();
map(0x1000, 0x1000).r("hyprolyb_adpcm", FUNC(hyprolyb_adpcm_device::data_r));
map(0x1001, 0x1001).r("hyprolyb_adpcm", FUNC(hyprolyb_adpcm_device::ready_r));
map(0x1002, 0x1002).w("hyprolyb_adpcm", FUNC(hyprolyb_adpcm_device::msm_data_w));
diff --git a/src/mame/drivers/tubep.cpp b/src/mame/drivers/tubep.cpp
index b5508786479..b391248d541 100644
--- a/src/mame/drivers/tubep.cpp
+++ b/src/mame/drivers/tubep.cpp
@@ -103,7 +103,6 @@ TP-S.1 TP-S.2 TP-S.3 TP-B.1 8212 TP-B.2 TP-B.3 TP-B.4
#include "emu.h"
#include "includes/tubep.h"
-#include "cpu/m6800/m6800.h"
#include "cpu/z80/z80.h"
#include "cpu/m6805/m6805.h"
#include "machine/74259.h"
@@ -836,6 +835,7 @@ void tubep_state::tubep(machine_config &config)
m_soundcpu->set_addrmap(AS_IO, &tubep_state::tubep_sound_portmap);
NSC8105(config, m_mcu, 6000000); /* 6 MHz Xtal - divided internally ??? */
+ m_mcu->set_ram_enable(false);
m_mcu->set_addrmap(AS_PROGRAM, &tubep_state::nsc_map);
config.set_maximum_quantum(attotime::from_hz(6000));
@@ -885,6 +885,7 @@ void tubep_state::tubepb(machine_config &config)
tubep(config);
M6802(config.replace(), m_mcu, 6000000); /* ? MHz Xtal */
+ m_mcu->set_ram_enable(false);
m_mcu->set_addrmap(AS_PROGRAM, &tubep_state::nsc_map);
//m_screen->screen_vblank().set_inputline(m_mcu, INPUT_LINE_NMI);
@@ -908,6 +909,7 @@ void tubep_state::rjammer(machine_config &config)
GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_soundcpu, INPUT_LINE_NMI);
NSC8105(config, m_mcu, 6000000); /* 6 MHz Xtal - divided internally ??? */
+ m_mcu->set_ram_enable(false);
m_mcu->set_addrmap(AS_PROGRAM, &tubep_state::nsc_map);
ls259_device &mainlatch(LS259(config, "mainlatch")); // 3A
diff --git a/src/mame/drivers/votrtnt.cpp b/src/mame/drivers/votrtnt.cpp
index b0beaa96302..89de200b62d 100644
--- a/src/mame/drivers/votrtnt.cpp
+++ b/src/mame/drivers/votrtnt.cpp
@@ -57,7 +57,7 @@ private:
void _6802_mem(address_map &map);
- required_device<cpu_device> m_maincpu;
+ required_device<m6802_cpu_device> m_maincpu;
required_device<votrax_sc01_device> m_votrax;
required_device<clock_device> m_clock;
};
@@ -140,6 +140,7 @@ void votrtnt_state::votrtnt(machine_config &config)
{
/* basic machine hardware */
M6802(config, m_maincpu, 2.4576_MHz_XTAL); // 2.4576MHz XTAL, verified; divided by 4 inside the MC6802
+ m_maincpu->set_ram_enable(false);
m_maincpu->set_addrmap(AS_PROGRAM, &votrtnt_state::_6802_mem);
/* video hardware */
diff --git a/src/mame/includes/s11.h b/src/mame/includes/s11.h
index 4e92c7d9868..1d54a5968e4 100644
--- a/src/mame/includes/s11.h
+++ b/src/mame/includes/s11.h
@@ -9,6 +9,7 @@
#ifndef MAME_INCLUDES_S11_H
#define MAME_INCLUDES_S11_H
+#include "cpu/m6800/m6800.h"
#include "audio/s11c_bg.h"
#include "machine/6821pia.h"
#include "machine/genpin.h"
@@ -96,7 +97,7 @@ protected:
// devices
required_device<cpu_device> m_maincpu;
- optional_device<cpu_device> m_audiocpu;
+ optional_device<m6802_cpu_device> m_audiocpu;
optional_device<cpu_device> m_bgcpu;
optional_device<hc55516_device> m_hc55516;
optional_device<pia6821_device> m_pias;
diff --git a/src/mame/includes/tdv2324.h b/src/mame/includes/tdv2324.h
index d0fdb05455f..69b4c2fa512 100644
--- a/src/mame/includes/tdv2324.h
+++ b/src/mame/includes/tdv2324.h
@@ -65,7 +65,7 @@ public:
private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_subcpu;
- required_device<cpu_device> m_fdccpu;
+ required_device<m6802_cpu_device> m_fdccpu;
required_device<z80dart_device> m_sio;
required_device<pic8259_device> m_pic;
required_device<pit8253_device> m_pit0;
diff --git a/src/mame/includes/tubep.h b/src/mame/includes/tubep.h
index f56bd63b344..bb99db9a35e 100644
--- a/src/mame/includes/tubep.h
+++ b/src/mame/includes/tubep.h
@@ -5,6 +5,7 @@
#pragma once
+#include "cpu/m6800/m6800.h"
#include "sound/msm5205.h"
#include "emupal.h"
#include "screen.h"
@@ -117,7 +118,7 @@ private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_soundcpu;
required_device<cpu_device> m_slave;
- required_device<cpu_device> m_mcu;
+ required_device<m6802_cpu_device> m_mcu;
optional_device<msm5205_device> m_msm;
required_device<screen_device> m_screen;
diff --git a/src/mame/machine/cmi_ankbd.cpp b/src/mame/machine/cmi_ankbd.cpp
index 997ea27619b..97001e93754 100644
--- a/src/mame/machine/cmi_ankbd.cpp
+++ b/src/mame/machine/cmi_ankbd.cpp
@@ -80,7 +80,6 @@ WRITE_LINE_MEMBER( cmi_alphanumeric_keyboard_device::rts_w )
void cmi_alphanumeric_keyboard_device::alphakeys_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x007f).ram();
map(0x4000, 0x7fff).portr("OPTIONS");
map(0x8000, 0xbfff).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0xc000, 0xc3ff).rom().mirror(0x3c00);
diff --git a/src/mame/machine/cmi_mkbd.cpp b/src/mame/machine/cmi_mkbd.cpp
index 69be6b34354..ea19b73e624 100644
--- a/src/mame/machine/cmi_mkbd.cpp
+++ b/src/mame/machine/cmi_mkbd.cpp
@@ -305,7 +305,6 @@ WRITE_LINE_MEMBER( cmi_music_keyboard_device::kbd_cts_w )
void cmi_music_keyboard_device::muskeys_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x007f).ram();
map(0x0080, 0x0083).rw(m_cmi10_pia_u21, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x0090, 0x0093).rw(m_cmi10_pia_u20, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0x00a0, 0x00a1).rw(m_acia_kbd, FUNC(acia6850_device::read), FUNC(acia6850_device::write));