Sony consumer electronic equipment uses infrared command sequences of 12, 15 or 20 bits in length. These codes can be sent directly using a Control-S interface without modification. Correctly sending these codes over a Control-A1 serial bus is accomplished by sending 16, 19 or 24 bits.
The table which follows describe the some sample codes in several ways. First are the commands and device codes, then the command as it would be sent via infrared, next the command as it is sent via S-Link/Control-A1 and lastly the command as it should be sent using the version 2.0 or 3.0 driver device driver from this site. A description of the binary encoding style to use on the S-Link/Control-A1 serial bus is treated seperately.
When transmitting the Control-S/IR command, only the correct number of bits should be sent. If the command is too long or too short, the decks discard it as noise.
The authors of this page cannot verify the Control-S/IR codes for any device other than CD and DVD players. Newer model CD changers with bi-directional IR ports, echo out all traffic on the S-Link/Control-A1 bus through this port for the use of IR remotes. The IR commands themselves are not echoed to the bus by all models. As a result, determining new codes often requires reading the IR generated by the remotes directly or trial and error methods.
All commands are shown for CD player 1. CD players 2 and 3 use the same command codes but the device codes are changed from 5 to 8 bits. See the last two entries in the table for examples of a play command for CD player 2 and CD player 3. A table of known device codes that are recognized by the slink device driver appears at the end of this page.
The S-Link/Control-A1 bus prefixes all IR messages with a 4 bit hexadecimal E (1110). This results in the increased command lengths on the bus. The version 2.0 and 3.0 device driver on this site uses a work around to send these commands. This decision was made in an effort to keep the interface simple for higher level implementation.
To send a Control-S/IR command onto the Control-A1 bus, meaning the command is mangled into a style that conforms to the control-a1 standard, simply use the basic S-Link device code followed by 0xE0 and then the Sontrol-S/IR command code from the table below. To send the same command on a Control-S data channel, continue to use the S-Link device code, use E1 thru E8 as the command code followed by the Control-S/IR command code.
Control-A1 IR command:
[device code][0xE0][one byte IR command code]
Example: Sending 0x90 0xE0 0x26 will cause the s-link driver to issue an IR play command to CD player 1 across the control-a1 data bus.
Control-S Channel 1 IR command:
[device code][0xE1][one byte IR command code]
Example: Sending 0x90 0xE1 0x26 will cause the s-link driver to issue an IR play command to CD player 1 across control-s channel 1.
Note: Not all of the commands in this table have been verified and the list is far from complete.
Also there may be another direct command format which remains undefined. Bus messages have been observed in the format of 0xEA 0xD1 and 0xEB 0x91 without any prefixing. This implies another command layer using the same timing but yet another varied spec. In general these apper to be panel/remote commands but are formatted differently than the formal IR command structure.
| Device | Command | IR Message | S-Link/Control-A1 Message |
Driver Command |
Driver Description |
| 1 0001 | 0000 000 | 0000 0001 0001 | 1110 0000 0001 0001 | 0x00 | Track 1 |
| 1 0001 | 0000 010 | 0000 0101 0001 | 1110 0000 0101 0001 | 0x02 | Track 0/10 |
| 1 0001 | 0000 110 | 0000 1101 0001 | 1110 0000 1101 0001 | 0x06 | Previous Track |
| 1 0001 | 0001 000 | 0001 0001 0001 | 1110 0001 0001 0001 | 0x08 | Track 9 |
| 1 0001 | 0001 010 | 0001 0101 0001 | 1110 0001 0101 0001 | 0x0A | Scroll Display |
| 1 0001 | 0001 110 | 0001 1101 0001 | 1110 0001 1101 0001 | 0x0E | Stop |
| 1 0001 | 0010 000 | 0010 0001 0001 | 1110 0100 0001 0001 | 0x10 | Track 5 |
| 1 0001 | 0010 110 | 0010 1101 0001 | 1110 0010 1101 0001 | 0x16 | Scan Forward |
| 1 0001 | 0011 001 | 0011 0011 0001 | 1110 0011 0011 0001 | 0x19 | Block |
| 1 0001 | 0011 010 | 0011 0101 0001 | 1110 0011 0101 0001 | 0x1A | Repeat |
| 1 0001 | 0100 000 | 0100 0001 0001 | 1110 0100 0001 0001 | 0x20 | Track 3 |
| 1 0001 | 0100 110 | 0100 1101 0001 | 1110 0100 1101 0001 | 0x26 | Play |
| 1 0001 | 0101 001 | 0101 0011 0001 | 1110 0101 0011 0001 | 0x29 | Disc |
| 1 0001 | 0101 110 | 0101 1101 0001 | 1110 0101 1101 0001 | 0x2E | Scan rewind |
| 1 0001 | 0110 000 | 0110 0001 0001 | 1110 0110 0001 0001 | 0x30 | Track 7 |
| 1 0001 | 0110 100 | 0110 1001 0001 | 1110 0110 1001 0001 | 0x34 | Open/Close |
| 1 0001 | 0111 011 | 0111 0111 0001 | 1110 0111 0111 0001 | 0x3B | No Delay |
| 1 0001 | 0111 110 | 0111 1101 0001 | 1110 0111 1101 0001 | 0x3E | Next Disc |
| 1 0001 | 1000 000 | 1000 0001 0001 | 1110 1000 0001 0001 | 0x40 | Track 2 |
| 1 0001 | 1000 110 | 1000 1101 0001 | 1110 1000 1101 0001 | 0x46 | Next Track |
| 1 0001 | 1000 111 | 1000 1111 0001 | 1110 1000 1111 0001 | 0x47 | X-Fade Select |
| 1 0001 | 1001 011 | 1001 0111 0001 | 1110 1001 0111 0001 | 0x4B | Enter disc name |
| 1 0001 | 1001 110 | 1001 1101 0001 | 1110 1001 1101 0001 | 0x4D | Pause |
| 1 0001 | 1010 000 | 1010 0001 0001 | 1110 1010 0001 0001 | 0x50 | Track 6 |
| 1 0001 | 1010 100 | 1010 1001 0001 | 1110 1010 1001 0001 | 0x54 | Power |
| 1 0001 | 1010 110 | 1010 1101 0001 | 1110 1010 1101 0001 | 0x56 | Shuffle |
| 1 0001 | 1011 010 | 1011 0101 0001 | 1110 1011 0101 0001 | 0x59 | Check |
| 1 0001 | 1011 100 | 1011 1001 0001 | 1110 1011 1001 0001 | 0x5C | Continue |
| 1 0001 | 1011 110 | 1011 1101 0001 | 1110 1011 1101 0001 | 0x5E | Previous Disc |
| 1 0001 | 1100 000 | 1100 0001 0001 | 1110 1100 0001 0001 | 0x60 | Track 4 |
| 1 0001 | 1100 110 | 1100 1101 0001 | 1110 1100 1101 0001 | 0x66 | Scan rewind |
| 1 0001 | 1101 000 | 1101 0001 0001 | 1110 1101 0001 0001 | 0x68 | Enter |
| 1 0001 | 1101 001 | 1101 0011 0001 | 1110 1101 0011 0001 | 0x69 | Track |
| 1 0001 | 1101 110 | 1101 1101 0001 | 1110 1101 1101 0001 | 0x6E | Scan forward |
| 1 0001 | 1110 000 | 1110 0001 0001 | 1110 1110 0001 0001 | 0x70 | Track 8 |
| 1 0001 | 1110 010 | 1110 0101 0001 | 1110 1110 0101 0001 | 0x72 | Track > 10 |
| 1 0001 | 1111 000 | 1111 0001 0001 | 1110 1111 0001 0001 | 0x78 | Clear |
| 1 0001 | 1111 010 | 1111 0101 0001 | 1110 1111 0101 0001 | 0x7A | Power Off |
| 1 0001 | 1111 011 | 1111 0111 0001 | 1110 1111 0111 0001 | 0x7B | Mega Control On/Off |
| 1 0001 | 1111 100 | 1111 1001 0001 | 1110 1111 1001 0001 | 0x7C | Program |
| 1 0001 | 1111 101 | 1111 0011 0001 | 1110 1111 1011 0001 | 0x7D | X-Fade |
| 1 0011 100 CD Player 2 |
0100 110 | 0100 1101 0011 100 | 1110 0100 1101 0011 100 | 0x26 | Play |
| 1 0001 010 CD Player 3 |
0100 110 | 0100 1101 0001 010 | 1110 0100 1101 0001 010 | 0x26 | Play |
| Device | S-Link Device Code | Control-S/IR Device Code (Binary) |
| Projector | 0x10 | 0010 1010 |
| Tape | 0x20 | 0 1110 |
| DAT | 0x30 | 0 0111 |
| DSS | 0x40 | 1110 1101 |
| TV | 0x50 | 1 0000 |
| LD-1 | 0x60 | 0 1100 |
| MD-1 | 0x70 | 1 1100 |
| VCR-1 | 0x80 | 0 1000 |
| VCR-2 | 0x81 | 1 0110 |
| VCR-3 | 0x82 | 1 1010 |
| VCR-1 (Alternate) |
0x83 | 0010 1011 |
| VCR-1 (Alternate) |
0x84 | 1110 1011 |
| VCR-1 (Alternate) |
0x85 | 1111 1011 |
| CD-1 | 0x90 | 1 0001 |
| CD-2 | 0x91 | 1001 1100 |
| CD-3 | 0x92 | 1000 1000 |
| CD-1 (Alternate) |
0x93 | Unknown |
| CD-2 | 0x94 | Unknown |
| CD-3 | 0x95 | Unknown |
| DVD-1 | 0xA0 | 0 1011 1001 0010 |
| DVD-2 | 0xA1 | 0 1011 0010 0010 |
| DVD-3 | 0xA2 | 0 1011 0101 1111 |
| Tuner | 0xB0 | 1 0110 |
| Amp | 0xC0 | 0 0110 |
