re: https://www.hifi-remote.com/forums/viewt ... 921#p135921
I have a fix for the SharpDVD executor in protocols.ini
The following line:
CmdTranslator=Translator(lsb,comp) XorCheck(4,12,0,2,0;3,4)
Should be changed to this in all 3 versions:
CmdTranslator=Translator(lsb,comp) XorCheck(4,12,1,2,0;3,4)
See the thread linked above for a description of WHY this change is needed.
SharpDVD - bug fix for protocols.ini
Moderator: Moderators
-
The Robman
- Site Owner
- Posts: 21923
- Joined: Fri Aug 01, 2003 9:37 am
- Location: Chicago, IL
- Contact:
SharpDVD - bug fix for protocols.ini
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
-
The Robman
- Site Owner
- Posts: 21923
- Joined: Fri Aug 01, 2003 9:37 am
- Location: Chicago, IL
- Contact:
I have come up with a new fix for the XOR calculation, it should be replaced with the following:
XorCheck(lsb,comp,4,12,7,2,0;4,0)
But while this change works, I do seek the advice of experts here.
The code originally had "3,4" after the semi-colon, which meant it should skip the first 4 bits of the device code data and use the next 12 bits (ie, 3 units of 4-bits each). However, the result of this was that the device code itself was getting skipped in the calculation. If I just change the devSourceOffset from 4 to 0, it brings in the device code but skips the top half of the sub-device code. If I also change the devCount it brings in both halves of the sub-device code but also brings in the top half of the device code, which results in the result being complimented.
So, what I did was, in addition to adding the LSB and COMP non-positional keyword arguments, I added a seed value of 7 to cover the E value. The true E value is 1 but because all the other numbers are LSB, I should add it as 8, but now I also need to complement it, so I found that using value 7 works (ie, binary 0111 representing a decimal value of 1 in lsb-comp format).
Is there a better way to do this?
XorCheck(lsb,comp,4,12,7,2,0;4,0)
But while this change works, I do seek the advice of experts here.
The code originally had "3,4" after the semi-colon, which meant it should skip the first 4 bits of the device code data and use the next 12 bits (ie, 3 units of 4-bits each). However, the result of this was that the device code itself was getting skipped in the calculation. If I just change the devSourceOffset from 4 to 0, it brings in the device code but skips the top half of the sub-device code. If I also change the devCount it brings in both halves of the sub-device code but also brings in the top half of the device code, which results in the result being complimented.
So, what I did was, in addition to adding the LSB and COMP non-positional keyword arguments, I added a seed value of 7 to cover the E value. The true E value is 1 but because all the other numbers are LSB, I should add it as 8, but now I also need to complement it, so I found that using value 7 works (ie, binary 0111 representing a decimal value of 1 in lsb-comp format).
Is there a better way to do this?
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!