To: All you techies/hackers out there
Need help deciphering apparent CRC/Checksum.
I'm working with another individual from this site using the Sony CDP-CX450's Remote which can hold up to 8 programs and then, at the touch of a button, download them to the player for Program #1.
See the following Thread for Disc 2, Track 2 & Disc 4, Track 3 sequence.
[Link: remotecentral.com]I've deciphered the data as follows:
Length of entire sequence in Pronto Terms is 0xE2. with no repeat.
Preamble 15 bit Sony Function 0x60: Device ID:0x24
Preamble 15 bit Sony Function 0x60: Device ID:0x24
Preamble 15 bit Sony Function 0x60: Device ID:0x24
Byte 0x90 (Which means send to Player #1)
Byte 0x8A (Maybe a command to Enter Byte Mode)
Byte 0x01 (Don't know what this is)
Byte 0x00 (MSB of Disc #)
Byte 0x02 (LSB of Disc #)
Byte 0x02 (Track # - 0xAB for All)
Byte 0x00 (MSB of Disc #)
Byte 0x04 (LSB of Disc #)
Byte 0x03 (Track # - 0xAB for All)
(Empty Disc Repeated 3 times)
Byte 0x00 (MSB Disc #)
Byte 0x00 (LSB Disc #)
Byte 0x00 (Track #)
Byte 0x00 (MSB Disc #)
Byte 0x00 (LSB Disc #)
Byte 0x00 (Track #)
Byte 0x00 (MSB Disc #)
Byte 0x00 (LSB Disc #)
Byte 0x00 (Track #)
Single 15 bit trailer
Sony Function 0x0E Device: 0x14
The last 15 bit trailer is presumably some sort of Checksum because if a disc is added or removed, the information in the trailer must be changed to fit.
What I have found is that I can switch the bytes around (For example, Disc 2 - Track 4 & Disc 2 - Track 3) and the 15 bit trailer does not change. Based on this I'm leaning towards some sort of Checksum versus a CRC because a change in the non-zero data order does not stop the sequence from working.
Additionally, in our tests, we've only had 3 discs max. However, when the IR sequence is generated, 5 disc slots are always generated. I assumed that the last "Empty Disc" informs the player that the sequence is done. However, if you remove one of these empty discs and adjust the IR length for the Pronto, the sequence ceases to work. Back to the drawing board against the apparent CRC/Checksum.
If anyone knows of a site which contains the Sony documents for this protocol, please point me to it.
I'm in the process of reverse engineering this process to simplify Generation of programmed playlists on the Marantz RC5000i/Pronto. What is the benefit of going this way? Quick and dirty bytestreams versus Macro after Macro after Macro of IR sequences to download a program using the standard IR codes. If you break apart the sequence mentioned in it's components, it will still work but takes around 1.5 seconds to complete on my Marantz. However, if you consolidate IR codes as was done in the previous post, the time is on average less than 100 milliseconds to download.
A Big Difference in anyone's book.
Thanks for any help you folks can provide in advance.
Regards,
Lyndel McGee