New RCA serial control hex codes

Newer RCA receivers incorporate changes to the serial control protocol, which renders them incompatible with previous versions of the serial control standard. (I originally believed that this was some evil ploy by RCA, but it appears to be a necessary change in order to comply with the APG (Advanced Program Guide) standard from DirecTV--mea culpa.) This change breaks any device which controls a DSS receiver via the serial port (most notably, TiVos). For TiVo owners, symptoms of this incompatibility are that the receiver performs a warm boot any time the TiVo tries to change the channel. (For those who are curious why, the TiVo sends a "power on" (FA 02) code before every channel change to ensure that the receiver is on; unfortunately, it just so happens that the new RCA command set interprets FA 02 as a warm boot.)

This is an attempt to document changes that were made to the "interesting" portions of the command set. Obviously this is not a complete list. Hopefully someone will do something useful with this information (TiVo engineers...hint hint).

Update!! The TiVo engineers incorporated support for the new serial protocol in software version 3.0. From TiVo Central, select Messages & Setup, then Recorder and Phone Setup; then Cable/Satellite Box; then Satellite Box Setup. Select the "Serial Cable - APG" option and you're all set!

The changes

Basically RCA fiddled with the high order bits of the hex commands. For 0- and 1- codes they just added 0x80, for 4- codes they added 0x60.

Commands sent to DirecTV receiver (prepend with 0xFA)
Standard
Hex
Command
RCA
Hex
Command
Data
Bytes
Sent
Data
Bytes
Received
Description
01 81 - - Power Off
02 82 - - Power On
05 85 - - Hide Text
06 86 - - Show Text
07 87 - 2/4* Get Channel Number
0A 8A - 8** Cold Boot***
0B 8B - 8** Warm Boot
10 90 - 1 Get Signal Strength (0 to 100)
11 91 - 7 Get Date, Time, Day of Week
13 93 - - Enable IR Remote
14 94 - - Disable IR Remote
45 A5 3 - Remote Control Key
46 A6 2/4* - Set Channel Number
4A AA 2+ - Display Text - Byte count, data

* Standard format uses 2 bytes for channel data, but the new RCA format uses 4 bytes for channel number data. The two extra trailing bytes should be 0xFFFF (so channel 103 for an RCA = 00 67 FF FF)
** No framing, 0x55,CR,LF,"DSS",CR,LF
*** WARNING: This may reset the EEPROM (favorites list, etc...)

Information on the "standard" command set was shamelessly yanked from Kevin T's dtvcon page, which also contains details of data bytes for the 0x45 command and hex responses from the DirecTV receiver. Michael Evenmo's Sony DSS codes page is another good source.

The RCA-specific information was gathered using educated trial and error, a Home Control to DB9 cable (thanks again Kevin T) and a demo of VID's RS232 Hex Com Tool, which I used for 5 minutes at a time because it's not quite worth $40 to me.

This page was composed by Andy Ellsworth and was last updated October 5, 2003.