summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/sh
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2023-12-17 19:57:09 +0100
committer Olivier Galibert <galibert@pobox.com>2023-12-17 19:57:13 +0100
commitf9de60c4354ef27d8ca7c7922668511a7f2426e9 (patch)
tree0b28730e383c4949f737c97f6af9fbcec1355512 /src/devices/cpu/sh
parent1ff5748ea09fd7656fd5ccc375420bf833d7884c (diff)
sh: start adding the sh7042
Diffstat (limited to 'src/devices/cpu/sh')
-rw-r--r--src/devices/cpu/sh/sh7042.cpp29
-rw-r--r--src/devices/cpu/sh/sh7042.h28
2 files changed, 57 insertions, 0 deletions
diff --git a/src/devices/cpu/sh/sh7042.cpp b/src/devices/cpu/sh/sh7042.cpp
new file mode 100644
index 00000000000..7c3f7d2fba1
--- /dev/null
+++ b/src/devices/cpu/sh/sh7042.cpp
@@ -0,0 +1,29 @@
+// license:BSD-3-Clause
+// copyright-holders:Olivier Galibert
+
+// SH7042, sh2 variant
+
+#include "emu.h"
+#include "sh7042.h"
+
+DEFINE_DEVICE_TYPE(SH7042, sh7042_device, "sh7042", "Hitachi SH-2 (SH7042)")
+
+sh7042_device::sh7042_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ sh2_device(mconfig, SH7042, tag, owner, clock, CPU_TYPE_SH2, address_map_constructor(FUNC(sh7042_device::map), this), 32, 0xffffffff)
+{
+}
+
+void sh7042_device::device_start()
+{
+ sh2_device::device_start();
+}
+
+void sh7042_device::device_reset()
+{
+ sh2_device::device_reset();
+}
+
+void sh7042_device::map(address_map &map)
+{
+ map(0xfffff000, 0xffffffff).ram();
+}
diff --git a/src/devices/cpu/sh/sh7042.h b/src/devices/cpu/sh/sh7042.h
new file mode 100644
index 00000000000..b47242013b4
--- /dev/null
+++ b/src/devices/cpu/sh/sh7042.h
@@ -0,0 +1,28 @@
+// license:BSD-3-Clause
+// copyright-holders:Olivier Galibert
+
+// SH7042, sh2 variant
+
+#ifndef MAME_CPU_SH_SH7042_H
+#define MAME_CPU_SH_SH7042_H
+
+#pragma once
+
+#include "sh2.h"
+
+class sh7042_device : public sh2_device
+{
+public:
+ sh7042_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+private:
+ void map(address_map &map);
+};
+
+DECLARE_DEVICE_TYPE(SH7042, sh7042_device)
+
+#endif // MAME_CPU_SH_SH7042_H