Mictronics - DIY Electronic projects and more.

Inside Sony Unilink

For information only - No support! #

All information on this page has been collected by members of the unilink discussion board by reverse engineering the protocol. The information cannot be guaranteed to be correct and is used at your own risk.

Bus Information #

The bus always is in one of three states:

Timing Information #

When no bytes are been sent the clock line will remain at 0 volts. The data line is changed at the half way point through the high clock. Clock period for one bit is 20us 50% duty cycle.

Bytes are normally sent out using a one-millisecond clock. One byte per millisecond.

There is an 3ms data line low cap at start of a new packet.

Data word types: #

6 byte short word:

RAD|TAD|CMD1|CMD2|Parity1| 0

11 byte middle word:

RAD|TAD|CMD1|CMD2|Parity1|D1|D2|D3|D4|Parity2| 0

16 byte long word:

RAD|TAD|CMD1|CMD2|Parity1|D1|D2|D3|D4|D2_1|D2_2|D2_3|D2_4|D2_5|Parity2|0

with:

RAD - Receiver address
TAD - Transmitter address
CMD1 - First byte of command identifier
CMD2 - Either a subcommand id or first data byte (depending CMD1)
Parity1 - Parity byte (The parity is simply the lower 8 bits of the addition of all the bytes that were sent before. )

D1-D4 - four additional data bytes in middle and long data word
D2_1-D2_5 - another five data bytes in long word
Parity2 - Second parity byte. Works like first parity byte (add ALL data bytes that were sent before, also the ones that already count into the first parity byte, but not the firt parity itself)
0 - A zero byte that follows every data word

Addresses: #

An address is always built of two nibbles of 4 bits each. The higher 4 bits specify the device group and depend on the device´s type. The lower 4 bits specify the device id that is assigned by the master during initial link mode.

If the device id 0 is specified as RAD, it´s a broadcast to the specified group.

Group IDs: #

0x3     CD players/changers
0x5     Tuners
0x6     Cassette recorders
0x7     Display
0x8     Unilink Audio/Bus Multiplexer like an XA-C30
0xC     Clock
0xD     MD Changers

Others:

0x11 - Keypad
0x21 - Keypad(Controll)
0x91 - DSP(Vol,Tone,etc)

Special addresses: #

0x10    Master
0x18    Broadcast

Commands starting "0x01" are system commands, and regarded as very important.  If a Changer or whatever picks up one of these commands and then finds out later that it´s partially corrupt, it will result in a complete re-initialisation sequence.

Modes #
Device info data #
Cmd1 Cmd2   D1      D2    D3     D4

0x8C, 0xA0, 0x06, 0xA8, 0x25, 0xA0 ;CDC device CDX-605, CDX-91

0x8C, 0x89, 0x15, 0xAC, 0x17, 0xA0 ;CDC device CDX-71

0x8C, 0xC0, 0x24, 0xa8, 0x3C, 0xA0 ;CDC device info

0x8C, 0xA0, 0x06, 0xa8, 0x25, 0xA0 ;CDC device info

0x8C, 0x10, 0x24, 0xa8, 0x17, 0xA0 ;MDC device info

0x8C, 0x00, 0x24, 0x1C, 0x22, 0x00 ;internal MD drive

0x8C, 0x00, 0x24, 0x2C, 0x22, 0xA0 ;same as above, but now external

Cmd1
0x8C Command identifier

Cmd2

D1

D2
0001xxxx internal device, only 1 CD slot accepted
0010xxxx external device

D3
0001xxxx Custom file
0010xxxx no Custom file

D4
11110000 Number of CD slots

Command table

👈 Home