Page 1 of 2
Minor bug in RM (Tivo Unit Codes)
Posted: Sun Sep 19, 2010 2:22 am
by alanrichey
Sunday morning so not much to do except fiddle
Output a BIN file for a Tivo with a non-zero Unit Code. Then import the file and although the Output Tab is correct the Unit Code drop down on the Setup Tab is not set.
I must get a life !!
Re: Minor bug in RM
Posted: Sun Sep 19, 2010 12:14 pm
by Morac
alanrichey wrote:Sunday morning so not much to do except fiddle
Output a BIN file for a Tivo with a non-zero Unit Code. Then import the file and although the Output Tab is correct the Unit Code drop down on the Setup Tab is not set.
I must get a life !!
This happens with the V1111 bin code
posted here.
What's odd is that when exporting the bin file, the unit codes are saved, but the remote code doesn't match up. For example code 1 is remote code 8, 2 is 4, 3 is 12, etc.
Re: Minor bug in RM
Posted: Thu Sep 23, 2010 4:00 am
by eferz
Morac wrote:The "Unit Code" to 2 in RemoteMaster doesn't match the remote code as read by the TiVo. For example setting the unit code to 1 results in a remote code of 8, 2 results in 4, 3 is 12, etc. I used my S3 to test this since as mentioned in #1, nothing works with the Premiere
I wonder if it would resolve Morac's issue by trying to export a binary using the
Tivo (Offical) protocol instead of the
Tivo (Offical 2-byte)? I noticed there was a difference with the device codes when opting for Tivo (Offical 2-byte) vs Tivo (Offical).
Tivo (Offical 2-byte)
Upgrade Code 0 = 4C 57 (VCR/1111) (RM v2.00-preview7 (942))
11 00 B2 F8 FE FE 8C 00 1C 00 06 C9
5E F3 73 F0
EB
F0 6B
F0 AB
F0 2B
F0 CB
F0 4B
F0 8B
F0 0B
F0
F3
F0 87
F0 07
F0 53
F0 7B
F0 3B
F0 BB
F0 DB
F0
ED
F0 FB
F0 7F
F0 7F
F0 D7
F0 57
F0 97
F0 17
F0
67
F0 93
F0 5B
F0 37
F0 1B
F0 9B
F0 B3
F0 1D
F0
DD
F0 5D
F0 77
F0 33
F0 A7
F0 E7
F0 B9
F0 39
F0
F9
F0 79
F0 7F
F0
End
The Unit Code from the setup tab will affect it accordingly,
0 = 5E F3 73
F0
1 = 5E F3 73
70
2 = 5E F3 73
B0
3 = 5E F3 73
30
4 = 5E F3 73
D0
5 = 5E F3 73
50
6 = 5E F3 73
90
7 = 5E F3 73
10
8 = 5E F3 73
E0
Where as the Tivo (Offical)
Upgrade Code 0 = 4C 57 (VCR/1111) (RM v2.00-preview7 (942))
11 00 B2 F8 FE FE 8C 00 1C 00 06 C9
5E F3 FF 73
EB 6B AB 2B CB 4B 8B 0B F3 87 07 53 7B 3B BB DB
ED FB 7F 7F D7 57 97 17 67 93 5B 37 1B 9B B3 1D
DD 5D 77 33 A7 E7 B9 39 F9 79 7F
End
With the Tivo (Offical) the "Unit Code" would change the numbers accordingly,
0 = 5E F3
FF
1 = 5E F3
7F
2 = 5E F3
BF
3 = 5E F3
3F
4 = 5E F3
DF
5 = 5E F3
5F
6 = 5E F3
9F
7 = 5E F3
1F
8 = 5E F3
EF
Posted: Thu Sep 23, 2010 7:52 am
by eferz
LOL, I just noticed the pattern for the number is another one of those reversed inverted binary nomenclatures.
Decimal to Binary (nibble)
0 = 0000
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000
Tivo (Offical)
FF = 1111 1111
7F = 0111 1111
BF = 1011 1111
3F = 0011 1111
DF = 1101 1111
5F = 0101 1111
9F = 1001 1111
1F = 0001 1111
EF = 1110 1111
Tivo (Offical 2-byte)
F0 = 1111 0000
70 = 0111 0000
B0 = 1011 0000
30 = 0011 0000
D0 = 1101 0000
50 = 0101 0000
90 = 1001 0000
10 = 0001 0000
E0 = 1110 0000
Though it doesn't explain the mismatch, but maybe the different protocol might fix that problem.
Posted: Thu Sep 23, 2010 9:11 am
by eferz
I just made the connection. It appears to be using inverse binary for the output. Ignorning the second nibble which is either 0 or F for the respective protocol.
Unit Code = Hexidecimal = Binary = Inverted Binary = Decimal
0 = F = 1111 = 0000 = 0
1 = 7 = 0111 = 1000 = 8
2 = B = 1011 = 0100 = 4
3 = 3 = 0011 = 1100 = 12
4 = D = 1101 = 0010 = 2
5 = 5 = 0101 = 1010 = 10
6 = 9 = 1001 = 0110 = 6
7 = 1 = 0001 = 1110 = 14
8 = E = 1110 = 0001 = 1
So, in this case you would need to use Unit Code 4 to represent Remote Address #2 on the Tivo.
Posted: Thu Sep 23, 2010 9:18 am
by gfb107
Posted: Thu Sep 23, 2010 9:27 am
by eferz
Ah, okay. That makes sense then, its an outdated protocol.ini file.
gfb107 wrote:Make the following change to the TiVo (Official 2-byte) entry in protocols.ini
CmdTranslator=Translator(lsb,comp,0,8,0) TranslatorFromDev(comp,2,4,8)
to
CmdTranslator=Translator(lsb,comp,0,8,0) TranslatorFromDev(lsb,comp,2,4,8)
Should I assume no changes are necessary for the non-2 byte version?
Posted: Thu Sep 23, 2010 9:33 am
by alanrichey
Actually, my PROTOCOLS.INI has that change in so that doesn't explain it.
Posted: Thu Sep 23, 2010 9:43 am
by eferz
alanrichey wrote:Actually, my PROTOCOLS.INI has that change in so that doesn't explain it.
Yes, it does since Morac's RM probably doesn't since he's the one that...
Morac wrote:It looks like I can simply import the V1111_PL.bin file into RemoteMaster and change the "Unit Code" to whatever number I want
Well, at least for his...
Morac wrote:The "Unit Code" to 2 in RemoteMaster doesn't match the remote code as read by the TiVo. For example setting the unit code to 1 results in a remote code of 8, 2 results in 4, 3 is 12, etc.
If you have a separate issue, then perhaps it isn't accounted for in this thread or properly described?
Posted: Thu Sep 23, 2010 9:57 am
by alanrichey
My issue was as described when I started the thread and is not affected by that fix. Not my fault the posts drifted off in another direction
1. Create an upgrade using Tivo (official 2-byte) and Unit Code 4.
2. Note on the Output Tab that the final byte in each line is 'D0'
3. Export the BIN file.
4. Import the BIN file
5. Unit Code is not defined (it is actually zero) and on the Output Tab that the final byte in each line is 'F0'
So problem still there.
Posted: Thu Sep 23, 2010 10:11 am
by eferz
My bad, I was focusing on why Morac got different address representation instead of your your import issues. But at least now, I see your point.
Code: Select all
"Unit Code 5" bin before exporting.
Upgrade Code 0 = 4C 5B (VCR/1115) (RM v2.00-preview7 (942))
11 00 B2 F8 FE FE 8C 00 1C 00 06 C9 5E F3 73 50
EB 50 6B 50 AB 50 2B 50 CB 50 4B 50 8B 50 0B 50
F3 50 87 50 07 50 53 50 7B 50 3B 50 BB 50 DB 50
ED 50 FB 50 7F 50 7F 50 D7 50 57 50 97 50 17 50
67 50 93 50 5B 50 37 50 1B 50 9B 50 B3 50 1D 50
DD 50 5D 50 77 50 33 50 A7 50 E7 50 B9 50 39 50
F9 50 79 50 7F 50
End
Upgrade protocol 0 = 01 11 (S3C80) TiVo (Official 2-byte) (RM v2.00-preview7 (942))
43 8D 22 8B 12 CF 44 08 08 01 1A 01 06 01 1A 03
31 D7 42 11 A7 08 B7 F6 01 46 46 29 0D 8D 01 49
End
Code: Select all
Reimported from above bin
Upgrade Code 0 = 4C 5B (VCR/1115) (RM v2.00-preview7 (942))
11 00 B2 F8 FE FE 8C 00 1C 00 06 C9 5E F3 73 F0
EB F0 6B F0 AB F0 2B F0 CB F0 4B F0 8B F0 0B F0
F3 F0 87 F0 07 F0 53 F0 7B F0 3B F0 BB F0 DB F0
ED F0 FB F0 7F F0 7F F0 D7 F0 57 F0 97 F0 17 F0
67 F0 93 F0 5B F0 37 F0 1B F0 9B F0 B3 F0 1D F0
DD F0 5D F0 77 F0 33 F0 A7 F0 E7 F0 B9 F0 39 F0
F9 F0 79 F0 7F F0
End
Upgrade protocol 0 = 01 11 (S3C80) TiVo (Official 2-byte) (RM v2.00-preview7 (942))
43 8D 22 8B 12 CF 44 08 08 01 1A 01 06 01 1A 03
31 D7 42 11 A7 08 B7 F6 01 46 46 29 0D 8D 01 49
End
Posted: Thu Sep 23, 2010 10:23 am
by eferz
It seems to only affect the Tivo (Offical 2-byte) protocol, as neither the Tivo (Offical) or Tivo (Advance) protocols possess that problem. Maybe there's another bug in the protocol?
Posted: Fri Sep 24, 2010 2:57 am
by eferz
eferz wrote:It seems to only affect the Tivo (Offical 2-byte) protocol, as neither the Tivo (Offical) or Tivo (Advance) protocols possess that problem. Maybe there's another bug in the protocol?
Additionally, under which conditions would one place a preference in using one of the three TiVo protocols over the other?
Posted: Fri Sep 24, 2010 3:59 am
by alanrichey
Good question. There are no indications in the Remarks to explain the difference, and why there hacked in the first place.
Posted: Fri Sep 24, 2010 6:21 am
by The Robman
The original official Tivo protocol used 2 byte of variable data, for no good reason. So, we created a version that uses 1 variable byte. Eventually, UEI saw the light and changed their version to also use 1 variable byte.
The only reason that anybody should use the official 2-byte version is if they have a remote that has that executor installed in the ROM, and they find that an upgrade that uses the official 2-byte version is smaller than using the hacked version, along with it's protocol upgrade.
The reason the 2-byte version doesn't import properly is because the unit code is not stored in the fixed data, it's stored in the variable data on each button.