summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cam900 <dbtlrchl@naver.com>2020-02-22 00:43:56 +0900
committer GitHub <noreply@github.com>2020-02-21 10:43:56 -0500
commit21dae89c14eee07166748ab7d73560514e853ee1 (patch)
tree23f1196a731698bf540e694e96a8e9a3727a1026
parentd73dabcfc8ce3dbc141812953505ccba38db3200 (diff)
Add skeleton LZ8420M device (#6339)
* Add skeleton LZ8420M device It has additional IO, Embedded RAM Used in psikyo.cpp * lz8420m.cpp : Fix copyright holder
-rw-r--r--scripts/src/cpu.lua2
-rw-r--r--src/devices/cpu/z80/lz8420m.cpp47
-rw-r--r--src/devices/cpu/z80/lz8420m.h45
-rw-r--r--src/mame/drivers/psikyo.cpp5
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);