Page 3 of 4
Posted: Thu Sep 09, 2004 7:43 pm
by Mark Pierson
IIRC, the NEC Combo 0141 (in both KM and RM) is a hacked version Rob wrote a long time ago before the 011A "official" version was discovered.
Posted: Thu Sep 09, 2004 7:52 pm
by jon_armstrong
I just started a
thread over in the software forum that may be a better place to continue since we have sort of drifted off topic. Also, I think my testing of 011A may help you mend KM since I confirmed John's very educated guesses and know which way to set the bits.
Posted: Fri Sep 10, 2004 12:42 am
by garypen
Before you guys go off to the other thread, I do have some info to report that may help with this protocol in RM and/or KM.
First, changing the contol bytes to 80 on the couple of errant device 2, NEC1 commands did work. So, we know they should be 80. I tried avery combination of entries on the setup page and functions page of KM to get it to change to 80 through it's formulas. But, I ended up editing the codes in IR, as suggested.
Next, I thought I'd try RM, and see if I had better luck than KM. But, it wouldn't even open the KM file, complaining that there was no such NEC 2DEV Combo protocol. So, I saved a version of the KM file after changing it to NECx1 protocol, and changed it back to NEC 2DEV after opening in RM.
Then I went in and assigned each function to the proper device. RM correctly created control byte 80 for the device2 codes. But, it created 00 for the device1 codes! (Shouldn't they be "24"? That's what was working from the KM file.)
Also, RM created protocol text, which needs to be pasted into IR. KM didn't do that. And, when I attempted to edit the device in IR with the function codes created in RM, the remote acted weird. I had 2 device buttons assigned to that device. Yet, each button showed a different device type and number on the LCD display, even though IR insisted they were both VCR 0715. (I did not upload the protocol text. So, that may have contributed?)
Posted: Fri Sep 10, 2004 6:22 am
by johnsfine
garypen wrote: But, it created 00 for the device1 codes! (Shouldn't they be "24"? That's what was working from the KM file.)
No. They should be 30. 00 won't work, nor will 10 (my earlier guess). Jon caught my error regarding bit5.
I thought you understood that 24 was working only because your device is tollerant of getting the wrong signal (NEC1 when it should be NECx1). 30 in place of those 24's should send the right signal.
Posted: Fri Sep 10, 2004 7:30 am
by jon_armstrong
Gary, If you copy the Protocols.ini entry I posted on the previous page and use it to replace the entry in the RM Protocols.ini file, it will calculate the correct entries. I'm not sure that it will import your KM file, but it is wrong anyway.
Posted: Fri Sep 10, 2004 8:44 am
by garypen
Thanks! I will try the new protocols.ini file. Does it go in the RM folder? (I don't have my "JP1" laptop with me right now.)
Since the KM file is only wrong for the 5 remaining device2 (NEC1, 110) functions, so I'd rather copy the KM file and re-do 5 entires, than redo all 44.
On a different note, I managed to replace 6 of the original 11 NEC1, 110 entries with NECx1, 45, 45 codes that I found for LG/Zenith DVD players. They work fine!
As such, I was wondering if there's a way to calculate NECx1, 45, 45 equivilents for the remaining 5 NEC1, 110 codes?
Posted: Fri Sep 10, 2004 8:47 am
by garypen
johnsfine wrote:
I thought you understood that 24 was working only because your device is tollerant of getting the wrong signal (NEC1 when it should be NECx1).
Oops. No I didn't. You guys are obviously programmer/engineer types. I'm just a lowly IT tech. I don't have the proper DNA for such stuff.

Posted: Fri Sep 10, 2004 10:45 am
by The Robman
garypen wrote:I was wondering if there's a way to calculate NECx1, 45, 45 equivilents for the remaining 5 NEC1, 110 codes?
Sure, compile a list of all the EFCs that you have already identified that use the NECx2 protocol, then test all of the remaining EFCs to see what they do.
Testing an EFC is simple, you just press the SETUP button then type in the 3-digit code (hold the last digit to simulate holding the button, if needed).
A more efficient method would be to create more upgrades comprised of all the missing EFCs or OBCs, load them into your remote and try out the buttons to see if any of them do anything. If you find one that does do something, go back to your KM file to see which EFC/OBC it was.
Posted: Fri Sep 10, 2004 11:36 am
by garypen
The Robman wrote: Sure, compile a list of all the EFCs that you have already identified that use the NECx2 protocol, then test all of the remaining EFCs to see what they do.
Easy enough, since I already have the list from the KM file I created.
The Robman wrote:Testing an EFC is simple, you just press the SETUP button then type in the 3-digit code (hold the last digit to simulate holding the button, if needed).
A more efficient method would be to create more upgrades comprised of all the missing EFCs or OBCs, load them into your remote and try out the buttons to see if any of them do anything. If you find one that does do something, go back to your KM file to see which EFC/OBC it was.
I may try the latter method. However, I'm not clear on the first one. I'm not sure what you mean by the SETUP button. Is that the P button on my 2116? If so, pressing and holding it causes it to go into programming mode, which requires the use of the cursor keys to choose which type of programming, such as code set, ir learn, etc. Also, how would I assign the 3-digit EFC to a particular key?
Posted: Fri Sep 10, 2004 11:48 am
by The Robman
garypen wrote:The Robman wrote:Testing an EFC is simple, you just press the SETUP button then type in the 3-digit code (hold the last digit to simulate holding the button, if needed).
I'm not clear on the first one. I'm not sure what you mean by the SETUP button. Is that the P button on my 2116? If so, pressing and holding it causes it to go into programming mode, which requires the use of the cursor keys to choose which type of programming, such as code set, ir learn, etc. Also, how would I assign the 3-digit EFC to a particular key?
The SETUP button is labelled differently for almost every remote. It is the button that you would press and hold to do the programming, so yes, it is the green P button on Radio Shack remotes (I didn't remember which remote you were using).
You'll also notice that I didn't tell you to press AND HOLD the button, I just told you to press it (ie, press and release it).
For more info, read this...
http://www.hifi-remote.com/ofa/advanced.shtml
Posted: Fri Sep 10, 2004 12:13 pm
by garypen
I've seen that Advanced Code web page before. Back then, it didn't make sense to me. But, now, after using IR, KM, and RM, and learning a bit more about protocals, EFC, OBC, hex code, etc...It still makes no sense to me.
If arriving at the correct hex code involves using a particular protocol, in addition to EFC (or OBC), how would I discover the correct entries by entering 3-digit codes into the remote?
I also don't understand a. Where do I get the 3-digit codes? b. Why do I have to move keys, as directed in the instructions? c. Why even bother with the Advanced Codes concept, if one can use IR and KM or RM to discover learned codes, and add them to an upgrade file? Or, just learn the needed button? Just curious.
Posted: Fri Sep 10, 2004 12:42 pm
by The Robman
Before JP1 was even invented, the thing that made UEI remotes so much better than other brands of remotes was the fact that you could use advanced codes (aka, EFCs) to re-program them.
An "advanced code" is a 3 digit code that is an encrypted version of the hex code, but the regular non-JP1 user doesn't need to know anything about hex codes.
As the instructions on that page state (quite clearly I thought, so I'd like to know in what way that page isn't clear), you can program an advanced code to a particular button. That page describes the different methods needed for the different types of remotes on the market.
Where would you find these advanced codes? If you click on the "Adv Codes List" link in the upper left corner, it will take you to the following page where you'll find tons of advanced codes...
http://www.hifi-remote.com/ofa/adv-codes.shtml
Like I tried to describe earlier, to test an advanced code you use the SETUP+nnn method. For example, to test EFC 123, you would do this (while pointing the remote at the device in question. You should also have the relevant setup code programmed to the device button being used....
1) Press (but don't hold) the SETUP button (ie, the green P button)
2) Press the 1 button
3) Press the 2 button
4) Press the 3 button
(To simulate holding down the real button, you could hold the last button down).
In the JP1 world, the only reason we even bothered to support the concept of EFCs is because there were already so many lists of them in circulation. EFC codes don't really serve any useful purpose in the JP1 world. We had to build in logic to de-encrypt the codes in order to get the useful OBC and hex code information.
So, to try and answer your specific questions...
garypen wrote:a. Where do I get the 3-digit codes?
From places like
http://www.hifi-remote.com/ofa/adv-codes.shtml
garypen wrote:b. Why do I have to move keys, as directed in the instructions?
You don't
have to, but you might find it useful. This is the "keymover" function, which you've probably heard of. This is the same function that allows us to re-program buttons, not by copying them, but by using advanced codes.
garypen wrote:c. Why even bother with the Advanced Codes concept, if one can use IR and KM or RM to discover learned codes, and add them to an upgrade file? Or, just learn the needed button?
You don't use KM and RM to discover codes, you use them to create upgrades, you use IR.exe in combination with a learning remote to capture and discover codes that are supported by your original remotes. What we're talking about here is trying to discover additional functions that your device might support. For a JP1 user, it does make more sense to use KM or RM to build a dummy upgrade with all the un-accounted for advanced codes, but a non-JP1 user doesn't have this option, so they would use the manual method that I described.
While I was on vacation recently, without my laptop, I used the manual method to discover some additional functions supported by the TV and VCR that were in our unit.
Posted: Fri Sep 10, 2004 1:37 pm
by garypen
The Robman wrote:Before JP1 was even invented, the thing that made UEI remotes so much better than other brands of remotes was the fact that you could use advanced codes (aka, EFCs) to re-program them.
An "advanced code" is a 3 digit code that is an encrypted version of the hex code, but the regular non-JP1 user doesn't need to know anything about hex codes.
So, these 3 digit codes are in lieu of hex codes, and do not require protocols? Does that mean that there are only 255 remote codes in total that control all functions on all devices?
As the instructions on that page state (quite clearly I thought, so I'd like to know in what way that page isn't clear), you can program an advanced code to a particular button. That page describes the different methods needed for the different types of remotes on the market.
Where would you find these advanced codes? If you click on the "Adv Codes List" link in the upper left corner, it will take you to the following page where you'll find tons of advanced codes...
The tables of advance codes are easy to find. What is not clear is how to use them, and what the numbers correspond to.
Like I tried to describe earlier, to test an advanced code you use the SETUP+nnn method. For example, to test EFC 123, you would do this (while pointing the remote at the device in question. You should also have the relevant setup code programmed to the device button being used....
Entering the code seems simple enough. What is not clear is "why", and "what to do" if you find a function that you need.
You don't have to, but you might find it useful. This is the "keymover" function, which you've probably heard of.
Not only have I heard of keymover, I've used it. (I have about 15 moved keys. What I was asking about is why the advanced code instructions mention it as a
necessary step in the process.
You don't use KM and RM to discover codes, you use them to create upgrades, you use IR.exe in combination with a learning remote to capture and discover codes that are supported by your original remotes.
Understood. But, my purpose in discovering the codes through IR is to create an upgrade with KM/RM for others to share, and for future personal use. So, I think of them as working in concert.
For a JP1 user, it does make more sense to use KM or RM to build a dummy upgrade with all the un-accounted for advanced codes, but a non-JP1 user doesn't have this option, so they would use the manual method that I described.
Dot splains it Lucy. Being a JP1 user has probably put me in a certain frame of mine that made Advanced Codes seem like a difficult and convoluted process to achieve something that is more easily acheivable with IR/KM/RM.
I guess I've become spoiled with JP1! Thanks to you and the others for providing this great service.
Posted: Fri Sep 10, 2004 1:47 pm
by garypen
After thinking about it, I guess my biggest question regarding advanced codes is:
If I find a 3-digit code that does a specific function that I am looking for, how do I translate that to an entry into KM/RM to complete a device upgrade file. (Again, there's the JP1 mentality interfering with my Advanced Codes thought process.)
Posted: Fri Sep 10, 2004 1:48 pm
by johnsfine
garypen wrote:So, these 3 digit codes are in lieu of hex codes, and do not require protocols? Does that mean that there are only 255 remote codes in total that control all functions on all devices?
No. Those 3 digit codes (EFC numbers) are only meaningful within the context of a specific protocol AND a specific set of fixed data. A setup code is used to specify the protocol and fixed data, but the hex commands of the setup code are not involved.
how to use them, and what the numbers correspond to.
They are EFC numbers. You can use them as EFC numbers in KM or RM or in a KeyMove defined in IR.EXE or defined directly on the remote itself.
You can also quickly test an EFC number by the method Rob described, without defining a key for it.
I hope NOW it is clear that the test process depends on first selecting a device mode containing the setup code needed to get the right protocol and fixed data.
For the rest of your questions, I think they're covered by the fact that "advanced code" is often used as a synonym for "EFC".
Personally I prefer to define "advanced code" as a function that isn't defined by the built-in setup code and thus couldn't be used pre-JP1 except by EFC. The basic functions that are defined by the built-in setup code also have EFC numbers, but there is little point to using them that way.