summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2021-07-26 14:09:04 -0400
committer AJR <ajrhacker@users.noreply.github.com>2021-07-26 14:09:04 -0400
commitd1e6e5b830363a0ad3f036502c3d9671cb8f3c94 (patch)
tree63070c6c8f973ba9df8141a2108d180ab0923c1e
parent0fbeb8ef9323c2cc2a6e6c537f6ea0aae20b34b2 (diff)
New machines marked as NOT_WORKING
---------------------------------- Sony DPS-V55 Multi-Effect Processor [DBWBP]
-rw-r--r--scripts/target/mame/mess.lua1
-rw-r--r--src/devices/cpu/f2mc16/mb9061x.cpp20
-rw-r--r--src/devices/cpu/f2mc16/mb9061x.h14
-rw-r--r--src/mame/drivers/dpsv55.cpp83
-rw-r--r--src/mame/mame.lst3
-rw-r--r--src/mame/mess.flt1
6 files changed, 121 insertions, 1 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 8262739869d..24f8e044852 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -3782,6 +3782,7 @@ files {
MAME_DIR .. "src/mame/drivers/betacam.cpp",
MAME_DIR .. "src/mame/drivers/bvm.cpp",
MAME_DIR .. "src/mame/drivers/dfs500.cpp",
+ MAME_DIR .. "src/mame/drivers/dpsv55.cpp",
MAME_DIR .. "src/mame/drivers/pockstat.cpp",
MAME_DIR .. "src/mame/drivers/psx.cpp",
MAME_DIR .. "src/mame/machine/psxcd.cpp",
diff --git a/src/devices/cpu/f2mc16/mb9061x.cpp b/src/devices/cpu/f2mc16/mb9061x.cpp
index 3017633df3b..9a425f7ad95 100644
--- a/src/devices/cpu/f2mc16/mb9061x.cpp
+++ b/src/devices/cpu/f2mc16/mb9061x.cpp
@@ -18,6 +18,7 @@
DEFINE_DEVICE_TYPE(MB90610A, mb90610_device, "mb90610a", "Fujitsu MB90610A")
DEFINE_DEVICE_TYPE(MB90611A, mb90611_device, "mb90611a", "Fujitsu MB90611A")
+DEFINE_DEVICE_TYPE(MB90641A, mb90641_device, "mb90641a", "Fujitsu MB90641A")
//**************************************************************************
// LIVE DEVICE
@@ -420,3 +421,22 @@ mb90611_device::mb90611_device(const machine_config &mconfig, device_type type,
mb9061x_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(mb90611_device::mb90611_map), this))
{
}
+
+/* MB90641 - no A/D, extra UART and timers, optional internal ROM */
+void mb90641_device::mb90641_map(address_map &map)
+{
+ map(0x0038, 0x003f).rw(FUNC(mb9061x_device::timer_r), FUNC(mb9061x_device::timer_w));
+ map(0x00a9, 0x00a9).rw(FUNC(mb9061x_device::tbtc_r), FUNC(mb9061x_device::tbtc_w));
+ map(0x00b0, 0x00bf).rw(FUNC(mb9061x_device::intc_r), FUNC(mb9061x_device::intc_w));
+ map(0x0100, 0x08ff).ram(); // 2K of internal RAM
+}
+
+mb90641_device::mb90641_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ mb90641_device(mconfig, MB90641A, tag, owner, clock)
+{
+}
+
+mb90641_device::mb90641_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ mb9061x_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(mb90641_device::mb90641_map), this))
+{
+}
diff --git a/src/devices/cpu/f2mc16/mb9061x.h b/src/devices/cpu/f2mc16/mb9061x.h
index 5edb45ace9d..c09bdef1b96 100644
--- a/src/devices/cpu/f2mc16/mb9061x.h
+++ b/src/devices/cpu/f2mc16/mb9061x.h
@@ -15,12 +15,13 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> m5074x_device
+// ======================> mb9061x_device
class mb9061x_device : public f2mc16_device
{
friend class mb90610_device;
friend class mb90611_device;
+ friend class mb90641_device;
public:
const address_space_config m_program_config;
@@ -97,7 +98,18 @@ protected:
mb90611_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
};
+class mb90641_device : public mb9061x_device
+{
+public:
+ mb90641_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ void mb90641_map(address_map &map);
+protected:
+ mb90641_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+};
+
DECLARE_DEVICE_TYPE(MB90610A, mb90610_device)
DECLARE_DEVICE_TYPE(MB90611A, mb90611_device)
+DECLARE_DEVICE_TYPE(MB90641A, mb90641_device)
#endif // MAME_CPU_F2MC16_MB9061X_H
diff --git a/src/mame/drivers/dpsv55.cpp b/src/mame/drivers/dpsv55.cpp
new file mode 100644
index 00000000000..7e5aa87c342
--- /dev/null
+++ b/src/mame/drivers/dpsv55.cpp
@@ -0,0 +1,83 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/****************************************************************************
+
+ Skeleton driver for Sony DPS-V55/V55M effects processor.
+
+ V55 and V55M are identical except for the power supply (120 V, 60 Hz for
+ the former, 230 V, 50/60 Hz for the latter).
+
+****************************************************************************/
+
+#include "emu.h"
+#include "cpu/f2mc16/mb9061x.h"
+#include "machine/nvram.h"
+
+namespace {
+
+class dpsv55_state : public driver_device
+{
+public:
+ dpsv55_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ {
+ }
+
+ void dpsv55(machine_config &config);
+
+private:
+ void mem_map(address_map &map);
+
+ required_device<cpu_device> m_maincpu;
+};
+
+
+void dpsv55_state::mem_map(address_map &map)
+{
+ map(0xfc0000, 0xfc7fff).mirror(0x18000).ram().share("nvram"); // CS1
+ map(0xfe0000, 0xffffff).rom().region("eprom", 0); // CS0
+}
+
+
+static INPUT_PORTS_START(dpsv55)
+INPUT_PORTS_END
+
+void dpsv55_state::dpsv55(machine_config &config)
+{
+ MB90641A(config, m_maincpu, 4_MHz_XTAL); // MB90641APF-G-105BND
+ m_maincpu->set_addrmap(AS_PROGRAM, &dpsv55_state::mem_map);
+
+ NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // CY62256LL-70SNC-T2 + 3V lithium battery + M62021FP-600C reset generator + M5239L voltage detector
+
+ // TODO: LCD unit (LC0801)
+
+ //CXD2707(config, "dsp", 49.152_MHz_XTAL);
+}
+
+/*
+Sony DPS-V55
+
+Version 1.02
+
+Chip: MX 27C1000DC-90
+
+Sticker:
+~~~~~~~~~~~~
+ DPS-V55/M
+ Ver.1.02
+ 759-499074
+~~~~~~~~~~~~
+
+Multi Processor DPS-V55
+Sony Corporation (c)1998
+*/
+
+ROM_START(dpsv55)
+ ROM_REGION(0x20000, "eprom", 0)
+ ROM_LOAD("dps-v55_m__ver.1.02__759-499-74.ic704", 0x00000, 0x20000, CRC(138c2fe0) SHA1(0916ccb1d7567639b382a19240a56274c5c2fa4a))
+ROM_END
+
+} // anonymous namespace
+
+SYST(1998, dpsv55, 0, 0, dpsv55, dpsv55, dpsv55_state, empty_init, "Sony", "DPS-V55 Multi-Effect Processor", MACHINE_IS_SKELETON)
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index b485ff45f4f..d0b04fc3698 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -12558,6 +12558,9 @@ dpb7000 //
@source:dps1.cpp
dps1 //
+@source:dpsv55.cpp
+dpsv55 //
+
@source:dragon.cpp
d64plus // Dragon 64 + Compusense Plus addon
dgnalpha // Dragon Alpha
diff --git a/src/mame/mess.flt b/src/mame/mess.flt
index 6c3d14e58de..9feb275f7c0 100644
--- a/src/mame/mess.flt
+++ b/src/mame/mess.flt
@@ -247,6 +247,7 @@ dmv.cpp
dolphunk.cpp
dpb7000.cpp
dps1.cpp
+dpsv55.cpp
dragon.cpp
drumsta.cpp
dsb46.cpp