1 // license:BSD-3-Clause
2 // copyright-holders:AJR
3 /***************************************************************************
4 
5     Roland MB63H114 Multiple Address Counter
6 
7     The multiplexed outputs of eight 13-bit counters internal to this
8     64-pin QFP CMOS gate array are used to play percussion samples.
9 
10     The on-chip clock generator must be externally strapped by connecting
11     SCO1 (36) to CLK0 (37) to obtain the standard 1.6 MHz master clock.
12     This is divided to produce 100, 50, 25 and 12.5 kHz outputs on A (3),
13     B (5), C (7) and D (4). These outputs are normally connected to the
14     XCK0–XCK7 inputs (56–57, 59–64), upper address lines and chip selects
15     of sample mask ROMs, and 40H151 multiplexers and demultiplexers, but
16     may also be used to drive other circuits.
17 
18     The XST0–XST7 (38–41, 44–47) counter start inputs, strobed with XSTA
19     (50), are normally connected to CPU address outputs rather than the
20     data bus, perhaps due to long setup/hold requirements. All these are
21     specified as active low.
22 
23 ***************************************************************************/
24 
25 #include "emu.h"
26 #include "mb63h114.h"
27 
28 //**************************************************************************
29 //  GLOBAL VARIABLES
30 //**************************************************************************
31 
32 // device type definition
33 DEFINE_DEVICE_TYPE(MB63H114, mb63h114_device, "mb63h114", "Roland MB63H114 Multiple Address Counter")
34 
35 
36 //**************************************************************************
37 //  DEVICE IMPLEMENTATION
38 //**************************************************************************
39 
40 //-------------------------------------------------
41 //  mb63h114_device - constructor
42 //-------------------------------------------------
43 
mb63h114_device(const machine_config & mconfig,const char * tag,device_t * owner,u32 clock)44 mb63h114_device::mb63h114_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
45 	: device_t(mconfig, MB63H114, tag, owner, clock)
46 {
47 }
48 
49 
50 //-------------------------------------------------
51 //  device_start - device-specific startup
52 //-------------------------------------------------
53 
device_start()54 void mb63h114_device::device_start()
55 {
56 }
57 
58 
59 //-------------------------------------------------
60 //  device_reset - device-specific reset
61 //-------------------------------------------------
62 
device_reset()63 void mb63h114_device::device_reset()
64 {
65 }
66 
67 
68 //-------------------------------------------------
69 //  xst_w - write counter start inputs
70 //-------------------------------------------------
71 
xst_w(u8 data)72 void mb63h114_device::xst_w(u8 data)
73 {
74 	logerror("%s: XST = %02X\n", machine().describe_context(), data);
75 }
76