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 tables which follow describe the 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 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. This requirement forced a major revision of the device driver which originally would only send even bytes which is consistent with the S-Link protocol.
The authors of this page cannot verify the 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 do not get echoed to the bus to reduce noise. As a result, determining new codes 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.
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 in an effort to keep the interface simple for higher level implementation. To send a IR command onto the Control-A1 bus simply use the basic S-Link device code followed by 0xE0 and then the IR command code from the table below. To send the same command on a Control-S data channel, use E1 thru E8 as the command code followed by the IR command code.
Control-A1 IR command:
[device code][0xE0][one byte IR command code]
Control-S Channel 1 IR command:
[device code][0xE1][one byte IR command code]
Note: Not all of the commands in this table have been verified. Items
marked in purple are known to be incorrect, but we haven't sorted out every
command yet and there are a large number missing.
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 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 | 0110 000 | 0110 0001 0001 | 1110 0110 0001 0001 | 0x30 | Track 7 |
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 | 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 Back |
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 | 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 100 | 1111 0001 0001 | 1110 1111 0001 0001 | 0x7C | Program |
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 |