I just recently purchased a RFX9600 and several of the Sony BDP-CX7000ES 400-disc Blu-ray Changers. Spent some time yesterday getting my TSU9x00 remotes, RFX9400's and RFX9600 setup for the changer short of implementing the RS-232 control. Spent the better part of today implementing the RS-232 control for the changer. Took some trial and error as this was my first time working with RS-232. Fortunately my persistence paid off. Figured out enough to successfully create a full set of RS-232 codes for the changer, including direct disc selection codes for all 400 changer slots! Not bad for a days work. :-) That being said, I thought I'd share some of what I learned today for anyone that owns this changer and has yet to take on RS-232 control. See the below. Full documentation per the below can be found in the files section
here.
RS232C formatBaud Rate : 9600bps
Data Bits : 8bit
Parity : No
Stop Bits : 1
Data Format (Host Controller <-> BD Player)
STX +BC +PDC +CMD +Data1 +----+DataN+CSThe terminological definition is as follows...
STX 02 H : Start of text code
BC : Byte Count (Number of bytes of until before CS from PDC.)
PDC : Product Code (0x80 BD1, 0x81 BD2, 0x82 BD3)
CMD: Command (Opecode)
DataN: Data Block ( 0 ≦N ≦FAH )
CS : Check Sum (A value from which 8 bits of low ranks of the sum from BC to CS are set to 0.)
___________________________________________The structure of the command (CMD) for direct disc selection is shown below.
CMD: 0x4a DISC_DIRECT_SETDisc No. (length=2)
0x0000: Current disc
0x0001: Disc No.1
0x0002: Disc No.2
- - - - - - - - - -
0x0399: Disc No.399
0x0400: Disc No.400
Track/Title No. (length=2)
0x0000: Track/Title number is not specified.
0x0001: Track/Title No.1
0x0002: Track/Title No.2
- - - - - - - - - -
0x0999: Track/Title No.999
Chapter No. (length=2)
0x0000: Chapter number is not specified.
0x0001: Chapter No.1
0x0002: Chapter No.2
- - - - - - - - - -
0x0999: Chapter No.999
Control (length=1)
0x00: play
0x01: pause
0x10: play Music File in Data Media
0x11: pause Music File in Data Media
0x20: play Photo File in Data Media
0x21: pause Photo File in Data Media
The below examples show the Hex to be added in the Pronto Editor (PEP v1.1.20 or higher) when creating the RS-232 code.
Example 1: Selecting Disc No.2, Title No.1, Chapter No.10, and setting Control as play.
02 09 80 4A 00 02 00 01 00 10 00 1A02 (STX 02H)
09 (Byte Count)
80 (Product Code: BD1)
4A (Command: DISC_DIRECT_SET)
00 (Disc No. 0002: 00xx)
02 (Disc No. 0002: xx02)
00 (Title No. 0001: 00xx)
01 (Title No. 0001: xx01)
00 (Chapter No. 0010: 00xx)
10 (Chapter No. 0010: xx10)
00 (Control: Play)
1A (Check Sum)
The above example is provided in the documentation I found posted in the files section here. I added the breakdown to provide some clarity as the documentation at first glance was a bit confusing to me having never worked with RS-232 before. The one key thing I have yet to learn is how to compute the Check Sum (CS). Thankfully I found a Sony Receiver Check Sum Calculator excel sheet
(Download link for the excel sheet can be found here. The Add-In, "Analysis ToolPak" will need to be installed/enabled in Excel via "Tools->Add-Ins" for proper calc operation.) which I used to determine the Check Sum. I added a second tab specifically for the Sony BDP-CX7000ES where I expanded the Check Sum Calculator to allow for a byte count up to 9 as can be the case with DISC_DIRECT_SET commands where the title and chapter are specified. That being said, below are a few examples per the RS-232 codes I created for loading each changer slot, including codes for power off/on and play.
Example 2: Selecting Disc No.2 and setting Control as play.02 05 80 4A 00 02 00 2F02 (STX 02H)
05 (Byte Count)
80 (Product Code: BD1)
4A (Command: DISC_DIRECT_SET)
00 (Disc No. 0002: 00xx)
02 (Disc No. 0002: xx02)
00 (Control: Play)
2F (Check Sum)
Example 3: Selecting Disc No.25 and setting Control as play.02 05 80 4A 00 25 00 0C02 (STX 02H)
05 (Byte Count)
80 (Product Code: BD1)
4A (Command: DISC_DIRECT_SET)
00 (Disc No. 0025: 00xx)
25 (Disc No. 0025: xx25)
00 (Control: Play)
0C (Check Sum)
Example 4: Selecting Disc No.255 and setting Control as play.02 05 80 4A 02 55 00 DA02 (STX 02H)
05 (Byte Count)
80 (Product Code: BD1)
4A (Command: DISC_DIRECT_SET)
02 (Disc No. 0255: 02xx)
55 (Disc No. 0255: xx55)
00 (Control: Play)
DA (Check Sum)
___________________________________________The structure of the command (CMD) for powering the changer off/on is shown below.
CMD: 0x60 POWER_SETControl (length=1)
0x00: POWER OFF
0x01: POWER ON
0x02 - 0xff: reserved
Again, the below examples show the Hex to be added in the Pronto Editor (PEP v1.1.20 or higher) when creating the RS-232 code.
Example 5: Power Off02 03 80 60 00 1D02 (STX 02H)
03 (Byte Count)
80 (Product Code: BD1)
60 (Command: POWER_SET)
00 (Control: Power Off)
1D (Check Sum)
Example 6: Power On02 03 80 60 01 1C02 (STX 02H)
03 (Byte Count)
80 (Product Code: BD1)
60 (Command: POWER_SET)
01 (Control: Power On)
1C (Check Sum)
___________________________________________Example of a simple function shown below.
Example 7: Play02 02 80 12 6C02 (STX 02H)
02 (Byte Count)
80 (Product Code: BD1)
12 (Command: Play)
6C (Check Sum)
Last edited by Lowpro on December 5, 2012 03:30.