summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-08-30 20:31:55 -0400
committer AJR <ajrhacker@users.noreply.github.com>2020-08-30 20:31:55 -0400
commit7a93c921fd7fa2ec837f8f70f6afebe0df74284d (patch)
tree0e8ed78d79dd57ca37ee0684881e66b4042f147c /src/mame/audio
parent7831b5657b1046936626fb21b010ead919848533 (diff)
tr707, tr727, mks7: Add skeleton MB63H114 device
Diffstat (limited to 'src/mame/audio')
-rw-r--r--src/mame/audio/mb63h114.cpp75
-rw-r--r--src/mame/audio/mb63h114.h42
2 files changed, 117 insertions, 0 deletions
diff --git a/src/mame/audio/mb63h114.cpp b/src/mame/audio/mb63h114.cpp
new file mode 100644
index 00000000000..6a22b28c2ea
--- /dev/null
+++ b/src/mame/audio/mb63h114.cpp
@@ -0,0 +1,75 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/***************************************************************************
+
+ Roland MB63H114 Multiple Address Counter
+
+ The multiplexed outputs of eight 13-bit counters internal to this
+ 64-pin QFP CMOS gate array are used to play percussion samples.
+
+ The on-chip clock generator must be externally strapped by connecting
+ SCO1 (36) to CLK0 (37) to obtain the standard 1.6 MHz master clock.
+ This is divided to produce 100, 50, 25 and 12.5 kHz outputs on A (3),
+ B (5), C (7) and D (4). These outputs are normally connected to the
+ XCK0–XCK7 inputs (56–57, 59–64), upper address lines and chip selects
+ of sample mask ROMs, and 40H151 multiplexers and demultiplexers, but
+ may also be used to drive other circuits.
+
+ The XST0–XST7 (38–41, 44–47) counter start inputs, strobed with XSTA
+ (50), are normally connected to CPU address outputs rather than the
+ data bus, perhaps due to long setup/hold requirements. All these are
+ specified as active low.
+
+***************************************************************************/
+
+#include "emu.h"
+#include "mb63h114.h"
+
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
+
+// device type definition
+DEFINE_DEVICE_TYPE(MB63H114, mb63h114_device, "mb63h114", "Roland MB63H114 Multiple Address Counter")
+
+
+//**************************************************************************
+// DEVICE IMPLEMENTATION
+//**************************************************************************
+
+//-------------------------------------------------
+// mb63h114_device - constructor
+//-------------------------------------------------
+
+mb63h114_device::mb63h114_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : device_t(mconfig, MB63H114, tag, owner, clock)
+{
+}
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void mb63h114_device::device_start()
+{
+}
+
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void mb63h114_device::device_reset()
+{
+}
+
+
+//-------------------------------------------------
+// xst_w - write counter start inputs
+//-------------------------------------------------
+
+void mb63h114_device::xst_w(u8 data)
+{
+ logerror("%s: XST = %02X\n", machine().describe_context(), data);
+}
diff --git a/src/mame/audio/mb63h114.h b/src/mame/audio/mb63h114.h
new file mode 100644
index 00000000000..10e96585b85
--- /dev/null
+++ b/src/mame/audio/mb63h114.h
@@ -0,0 +1,42 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/***************************************************************************
+
+ Roland MB63H114 Multiple Address Counter
+
+***************************************************************************/
+
+#ifndef MAME_MACHINE_MB63H114_H
+#define MAME_MACHINE_MB63H114_H
+
+#pragma once
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> mb63h114_device
+
+class mb63h114_device : public device_t
+{
+public:
+ // device type constructor
+ mb63h114_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+ // CPU write handler
+ void xst_w(u8 data);
+
+protected:
+ // device-specific overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+private:
+ // TODO
+};
+
+
+// device type declaration
+DECLARE_DEVICE_TYPE(MB63H114, mb63h114_device)
+
+#endif // MAME_MACHINE_MB63H114_H