diff options
-rw-r--r-- | scripts/src/cpu.lua | 2 | ||||
-rw-r--r-- | src/devices/cpu/z80/lz8420m.cpp | 47 | ||||
-rw-r--r-- | src/devices/cpu/z80/lz8420m.h | 45 | ||||
-rw-r--r-- | src/mame/drivers/psikyo.cpp | 5 |
4 files changed, 97 insertions, 2 deletions
diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index 37beed9e387..90d8d01dc0c 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -2529,6 +2529,8 @@ if (CPUS["Z80"]~=null) then MAME_DIR .. "src/devices/cpu/z80/tmpz84c015.h", MAME_DIR .. "src/devices/cpu/z80/kl5c80a12.cpp", MAME_DIR .. "src/devices/cpu/z80/kl5c80a12.h", + MAME_DIR .. "src/devices/cpu/z80/lz8420m.cpp", + MAME_DIR .. "src/devices/cpu/z80/lz8420m.h", } end diff --git a/src/devices/cpu/z80/lz8420m.cpp b/src/devices/cpu/z80/lz8420m.cpp new file mode 100644 index 00000000000..26e41a6b248 --- /dev/null +++ b/src/devices/cpu/z80/lz8420m.cpp @@ -0,0 +1,47 @@ +// license:BSD-3-Clause +// copyright-holders:cam900 +/*************************************************************************** + + Sharp LZ8420M Z80 with Built-in RAM + + (TODO: everything; + 8 Bit IO, 4 Bit Input, 4 Bit Output, 512 Byte RAM) + +***************************************************************************/ + +#include "emu.h" +#include "lz8420m.h" + +DEFINE_DEVICE_TYPE(LZ8420M, lz8420m_device, "lz8420m", "Sharp LZ8420M") + + +lz8420m_device::lz8420m_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : z80_device(mconfig, LZ8420M, tag, owner, clock) +{ +} + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void lz8420m_device::device_start() +{ + z80_device::device_start(); +} + + +//------------------------------------------------- +// device_reset - device-specific reset +//------------------------------------------------- + +void lz8420m_device::device_reset() +{ + z80_device::device_reset(); +} + + +/* CPU interface */ +void lz8420m_device::device_add_mconfig(machine_config &config) +{ +} diff --git a/src/devices/cpu/z80/lz8420m.h b/src/devices/cpu/z80/lz8420m.h new file mode 100644 index 00000000000..afa653c340d --- /dev/null +++ b/src/devices/cpu/z80/lz8420m.h @@ -0,0 +1,45 @@ +// license:BSD-3-Clause +// copyright-holders:cam900 +/*************************************************************************** + + Sharp LZ8420M Z80 with Built-in RAM + + (TODO: everything; + 8 Bit IO, 4 Bit Input, 4 Bit Output, 512 Byte RAM) + +***************************************************************************/ + +#ifndef MAME_CPU_Z80_LZ8420M_H +#define MAME_CPU_Z80_LZ8420M_H + +#pragma once + +#include "z80.h" + + +/*************************************************************************** + DEVICE CONFIGURATION MACROS +***************************************************************************/ + + +/*************************************************************************** + TYPE DEFINITIONS +***************************************************************************/ + +class lz8420m_device : public z80_device +{ +public: + lz8420m_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t); + +protected: + // device-level overrides + virtual void device_add_mconfig(machine_config &config) override; + virtual void device_start() override; + virtual void device_reset() override; +}; + + +// device type definition +DECLARE_DEVICE_TYPE(LZ8420M, lz8420m_device) + +#endif // MAME_CPU_Z80_LZ8420M_H diff --git a/src/mame/drivers/psikyo.cpp b/src/mame/drivers/psikyo.cpp index 5632a95c66c..526ee1d9950 100644 --- a/src/mame/drivers/psikyo.cpp +++ b/src/mame/drivers/psikyo.cpp @@ -81,6 +81,7 @@ This was pointed out by Bart Puype #include "includes/psikyo.h" #include "cpu/z80/z80.h" +#include "cpu/z80/lz8420m.h" #include "cpu/m68000/m68000.h" #include "cpu/pic16c5x/pic16c5x.h" #include "sound/2610intf.h" @@ -1086,7 +1087,7 @@ void psikyo_state::gunbird(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &psikyo_state::gunbird_map); m_maincpu->set_vblank_int("screen", FUNC(psikyo_state::irq1_line_hold)); - Z80(config, m_audiocpu, 4000000); /* ! LZ8420M (Z80 core) ! */ + LZ8420M(config, m_audiocpu, 4000000); /* ! LZ8420M (Z80 core) ! */ m_audiocpu->set_addrmap(AS_PROGRAM, &psikyo_state::gunbird_sound_map); m_audiocpu->set_addrmap(AS_IO, &psikyo_state::gunbird_sound_io_map); @@ -1170,7 +1171,7 @@ void psikyo_state::s1945(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &psikyo_state::s1945_map); m_maincpu->set_vblank_int("screen", FUNC(psikyo_state::irq1_line_hold)); - Z80(config, m_audiocpu, 16_MHz_XTAL / 2); /* ! LZ8420M (Z80 core) ! */ + LZ8420M(config, m_audiocpu, 16_MHz_XTAL / 2); /* ! LZ8420M (Z80 core) ! */ m_audiocpu->set_addrmap(AS_PROGRAM, &psikyo_state::gunbird_sound_map); m_audiocpu->set_addrmap(AS_IO, &psikyo_state::s1945_sound_io_map); |