DCB was a proprietary data interchange interface by Roland Corporation, developed in 1981 and introduced in 1982 in their Roland Juno-60 and Roland Jupiter-8 products. DCB functions were basically the same as MIDI, but unlike MIDI, DCB could provide note on/off, program change and VCF/VCA control only. DCB-to-MIDI adapters were produced for a number of early Roland products. The DCB interface was made in 2 variants, the earlier one used 20-pin sockets and cables, later switching to the 14-pin Amphenol DDK connector vaguely resembling a parallel port.
Supporting equipment
DCB was quickly replaced by MIDI in the early 1980s. The only DCB-equipped instruments produced were the Roland Jupiter-8 and Juno-60; Roland produced at least two DCB sequencers, the JSQ-60 and the MSQ-700. The latter was capable of saving eight sequences, or a total of 3000 notes, and was capable of transmitting and receiving data via MIDI. Roland later released the MD-8, a rather large black box capable of converting MIDI signals to DCB and vice versa. While this allows note on/off to be sent to a Juno-60 by MIDI, the solution pales in comparison to the full MIDI implementation on the Juno-60's successor, the Roland Juno-106. A few companies offer similar conversion boxes to connect DCB instruments to regular MIDI systems for support of vintage synths in modern sound production environments.
DCB uses a special 14-wire connection. The first 7 consist of 3 wires in each direction plus a shared ground. The signals are standard TTL 0-5V, except the Rx Busy output, which is an open collector pulldown. 1. Rx Busy 2. Rx Data 3. Rx Clock 4. Ground 5. Tx Busy 6. Tx Data 7. Tx Clock The remaining 7 wires may be used for special purposes. 8. Unreg 9. VCA Lower 10. VCA Upper 11. VCF Lower 12. VCF upper 13. VCO-2 14. VCO-1 These are not used in the Juno 60.
DCB data is sent in short blocks messages consisting of an identifier, one or more data codes, and an end mark. Blocks may be sent intermittently or continuously, in which case end marks are not used.
Identifier/start
Data
Data
...
End
F1-FE
0-F0
0-F0
...
FF
Identifier is 1 byte using a value F1 through FE, which acts as both a start marker and a message type. Data which follows must not use these data bytes. In practice only FD and FE are used. Data codes are one or more sections or channels, each one byte. The number of bytes or channels depends on the transmitter's configuration, but doesn't change once communication has been started. All data values must be in the range 00-F0. The end mark is an FF character. It is omitted if the message has a predefined length or the next message starts immediately after the data.
This message identifies a patch, by a single byte. Juno 60 ignores this. It is sent once after a patch change, with the first key code by OP-8 and JP-8. It does not have an end mark.
This message identifies a key event. It contains one byte for each note channel the transmitter supports - so it is 8 bytes long for JP-8 and OP-8, or 6 bytes for Juno 60. Each channel byte defines a key number and whether the key is gated on or off. Keys are identified with 0-96 with zero meaning C0, up to 96 C8. Channels are assigned in the order defined by the transmitter's key assign mode. For OP-8, this is Ch1 - Ch8. For JP-8 split mode, Upper 4 keys followed by Lower 4 keys. JP-8 dual mode, the data for the first 4 channels is duplicated to the second 4. If the Juno-60 receives more channels than it physically has voices, the extra channels are "queued" and played later when possible. Whereas the JP-8 only accepts 8 channels.