Dishplayer (Old) protocol
Posted: Thu Apr 01, 2004 11:58 am
I take it we're all in agreement that the sub-device (aka "unit code") is LSB, and I think it should be obvious from the data that the device code is also LSB (ie, we've only seen 2 values and those are 00000 and 10000). So I would recommend that DecodeIR and RM treat the device code as LSB also.
As for the OBCs, I would agree that they appear to be MSB.
So my question is this, do we really want to start maintaining a protocol as a mixture of both MSB and LSB components? Given that the command codes only use 6 bits, the range of possible OBCs is 0 thru 63, and most of that range is already covered by known commands, leaving very few gaps. It seems to me that we are forced to recognize the fact that the sub-device is LSB because it's directly tied to what the user calls "unit code" (ie, it's one less than the user's "unit code"), and the evidence tends to indicate that the device code is also LSB, so therefore why not just treat the whole protocol as LSB?
I took a look at the protocols.ini file for this protocol and I see that it was a conscious decision to make RM & DecodeIR incompatible with KM, do you really think this was a wise decision? Are there any other examples where KM and RM have been made to be incompatible? I think it would be wise when an occassion arises where you want to change the way a protocol is treated, you should consult all the involved parties so an agreement can be reached, then ALL the tools can be adjusted at the same time.
I'd like to get all the tools in sync with each other, and here's what I suggest...
1) KM will need to be changed to start supporting protocols where the device codes and command codes don't share the same polarity.
2) I'd like to rename the protocol to "Dish Network". I gave it the "Dishplayer (Old)" name and I now think that was a bad idea.
3) I would like to support two different versions of this protocol, one simply called "Dish Network" and the other called "Dish Network Combo". The first version would only support 1 device code and 1 unit code. KM/RM would need to be smart enough to know which version of the protocol (if any) is installed in the remote, so it would know whether to format 2 8-bit bytes, or three 5/5/6-bit bytes (plus possibly the un-used combo fixed bytes). If a unit code is entered, KM and RM will need to know how to spread it across the variable and fixed byte.
There are logically 3 versions of the protocol floating around...
a) the old 8/8 version, where the unit code is spread between the fixed and variable data
b) the first 5/5/6 version
c) the current 5/5/6 version that supports the mini-combo logic.
There's actually 2 versions of (b), one that also supports the alternative carrier frequency and one that doesn't. All versions of (c) support the 2 carriers. The alternative carrier frequency matches the one used by the Dishplayer protocol, but the burst times do not match, and I cannot find an example of a setup code that uses $0002 with the alt carrier frequency, so I propose that we do not support that feature at this time.
If the protocol is to be presented as an upgrade, I don't see any point in including the (possibly redundant) logic for the alt carrier, so here's the 40 byte protocol code with that logic removed...
Upgrade protocol 0 = 00 02 (S3C8+)
2B 5C 51 8B 16 B6 59 05 06 00 C5 03 32 00 C5 05
73 0B F2 00 C5 0B F2 05 02 43 8C 18 08 56 C1 03
87 21 04 29 04 8D 01 46
End
The remotes that have the old 8/8 version installed are:
S3C8: 15-1994, Catalyst48, Millenium3, Millenium4, ReplayTV v1, ReplayTV v2, URC-7800, Outlaw, URC-5650, URC-7200,
740: 15-1935, 15-1995, URC-9800, URC-8090-B00, URC-8090-B02, Maestro II,
6805: Kenwood-R0805, Intuitive, URC-44XXXB00, URC-44XXXB02,
The remotes with the non-combo, 1 carrier, 5/5/6 version are (all S3C8):
15-2104, 15-2103, 15-2107, Toshiba-90047, RCU810, REM400-B00, URC-4080
The remotes with the non-combo, 2 carrier, 5/5/6 version are:
Balboa, REM400-B01, URC-8811,
The remotes with the combo, 2 carrier, 5/5/6 version are (all S3C8):
15-2116, 15-2133, 15-2138, URC-3440, URC-6131, URC-8040, URC-8060, URC-8910, URC-9960
I will try and see if there is an official version of the current protocol for either the 740 or 6805 remotes, but even if there isn't, it shouldn't be too hard to modify the old versions.
As for the OBCs, I would agree that they appear to be MSB.
So my question is this, do we really want to start maintaining a protocol as a mixture of both MSB and LSB components? Given that the command codes only use 6 bits, the range of possible OBCs is 0 thru 63, and most of that range is already covered by known commands, leaving very few gaps. It seems to me that we are forced to recognize the fact that the sub-device is LSB because it's directly tied to what the user calls "unit code" (ie, it's one less than the user's "unit code"), and the evidence tends to indicate that the device code is also LSB, so therefore why not just treat the whole protocol as LSB?
I took a look at the protocols.ini file for this protocol and I see that it was a conscious decision to make RM & DecodeIR incompatible with KM, do you really think this was a wise decision? Are there any other examples where KM and RM have been made to be incompatible? I think it would be wise when an occassion arises where you want to change the way a protocol is treated, you should consult all the involved parties so an agreement can be reached, then ALL the tools can be adjusted at the same time.
I'd like to get all the tools in sync with each other, and here's what I suggest...
1) KM will need to be changed to start supporting protocols where the device codes and command codes don't share the same polarity.
2) I'd like to rename the protocol to "Dish Network". I gave it the "Dishplayer (Old)" name and I now think that was a bad idea.
3) I would like to support two different versions of this protocol, one simply called "Dish Network" and the other called "Dish Network Combo". The first version would only support 1 device code and 1 unit code. KM/RM would need to be smart enough to know which version of the protocol (if any) is installed in the remote, so it would know whether to format 2 8-bit bytes, or three 5/5/6-bit bytes (plus possibly the un-used combo fixed bytes). If a unit code is entered, KM and RM will need to know how to spread it across the variable and fixed byte.
There are logically 3 versions of the protocol floating around...
a) the old 8/8 version, where the unit code is spread between the fixed and variable data
b) the first 5/5/6 version
c) the current 5/5/6 version that supports the mini-combo logic.
There's actually 2 versions of (b), one that also supports the alternative carrier frequency and one that doesn't. All versions of (c) support the 2 carriers. The alternative carrier frequency matches the one used by the Dishplayer protocol, but the burst times do not match, and I cannot find an example of a setup code that uses $0002 with the alt carrier frequency, so I propose that we do not support that feature at this time.
If the protocol is to be presented as an upgrade, I don't see any point in including the (possibly redundant) logic for the alt carrier, so here's the 40 byte protocol code with that logic removed...
Upgrade protocol 0 = 00 02 (S3C8+)
2B 5C 51 8B 16 B6 59 05 06 00 C5 03 32 00 C5 05
73 0B F2 00 C5 0B F2 05 02 43 8C 18 08 56 C1 03
87 21 04 29 04 8D 01 46
End
The remotes that have the old 8/8 version installed are:
S3C8: 15-1994, Catalyst48, Millenium3, Millenium4, ReplayTV v1, ReplayTV v2, URC-7800, Outlaw, URC-5650, URC-7200,
740: 15-1935, 15-1995, URC-9800, URC-8090-B00, URC-8090-B02, Maestro II,
6805: Kenwood-R0805, Intuitive, URC-44XXXB00, URC-44XXXB02,
The remotes with the non-combo, 1 carrier, 5/5/6 version are (all S3C8):
15-2104, 15-2103, 15-2107, Toshiba-90047, RCU810, REM400-B00, URC-4080
The remotes with the non-combo, 2 carrier, 5/5/6 version are:
Balboa, REM400-B01, URC-8811,
The remotes with the combo, 2 carrier, 5/5/6 version are (all S3C8):
15-2116, 15-2133, 15-2138, URC-3440, URC-6131, URC-8040, URC-8060, URC-8910, URC-9960
I will try and see if there is an official version of the current protocol for either the 740 or 6805 remotes, but even if there isn't, it shouldn't be too hard to modify the old versions.