diff options
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 |
commit | 7a93c921fd7fa2ec837f8f70f6afebe0df74284d (patch) | |
tree | 0e8ed78d79dd57ca37ee0684881e66b4042f147c /src/mame/audio | |
parent | 7831b5657b1046936626fb21b010ead919848533 (diff) |
tr707, tr727, mks7: Add skeleton MB63H114 device
Diffstat (limited to 'src/mame/audio')
-rw-r--r-- | src/mame/audio/mb63h114.cpp | 75 | ||||
-rw-r--r-- | src/mame/audio/mb63h114.h | 42 |
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 |