m6802, nsc8105: Internalize internal RAM (nw)

This commit is contained in:
AJR 2019-12-01 12:02:53 -05:00
parent 679858e85d
commit 550b5bb87f
48 changed files with 71 additions and 67 deletions

View File

@ -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)

View File

@ -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;
};

View File

@ -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));

View File

@ -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);

View File

@ -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();

View File

@ -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();
}

View File

@ -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));

View File

@ -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();

View File

@ -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();
}

View File

@ -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)

View File

@ -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);

View File

@ -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);
}

View File

@ -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 */

View File

@ -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 */

View File

@ -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);

View File

@ -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();

View File

@ -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);
}

View File

@ -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));

View File

@ -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");

View File

@ -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", ?);

View File

@ -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();
}

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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");

View File

@ -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));

View File

@ -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));

View File

@ -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");

View File

@ -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();

View File

@ -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"

View File

@ -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();

View File

@ -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();

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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)

View File

@ -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)

View File

@ -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 */

View File

@ -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);
}

View File

@ -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

View File

@ -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));

View File

@ -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

View File

@ -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 */

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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));