15-2104 - extender questions about LIGHT button
Moderator: Moderators
15-2104 - extender questions about LIGHT button
Topic split from this thread...
http://www.hifi-remote.com/forums/viewtopic.php?t=2834
Hey, I'm kind of interested in this, but I don't have a 2116/7 remote. So I was wondering how much remote specific stuff you had to use? I mean, would it easily port to other model remotes (ones with extenders, of course)? I've never taken the time to look into trying to write something myself, but the default behaviour of the backlight never really made sense to me.
The behavior I'd like would be to use the light key to toggle the backlight but have it turn off after a timer. I guess pretty much what it does now except that it wouldn't turn on again when you press a key, only when you press the light key again. With the way it works by default, the wife ends up leaving the backlight "on" all the time...
Regards,
Matt
http://www.hifi-remote.com/forums/viewtopic.php?t=2834
Hey, I'm kind of interested in this, but I don't have a 2116/7 remote. So I was wondering how much remote specific stuff you had to use? I mean, would it easily port to other model remotes (ones with extenders, of course)? I've never taken the time to look into trying to write something myself, but the default behaviour of the backlight never really made sense to me.
The behavior I'd like would be to use the light key to toggle the backlight but have it turn off after a timer. I guess pretty much what it does now except that it wouldn't turn on again when you press a key, only when you press the light key again. With the way it works by default, the wife ends up leaving the backlight "on" all the time...
Regards,
Matt
The code uses calls into rom routines in the remote, if these routines exist and at what address they are will vary from remote to remote, so I would have thought it unlikely that its directly portable. It probably depends on if someone who knows about the remote you have either already knows the appropriate rom routines or knows how to find them out.So I was wondering how much remote specific stuff you had to use?
Which remote are you thinking of?
I didn't expect it to be directly portable. What you describe is what I was originally thinking, a few changes to ROM addresses etc. Most of this stuff has been figured out by the extender writers, so I would think it may be pretty simple to port the code over (as long as an extender for the remote exists). In particular, I am using the 15-2104 with extender.
I'm not asking you to do it, mind you, I was just asking whether you thought it was possible to do easily. Some day when I have time, I'll look into it myself, but things have been hectic as of late. Thanks for the reply.
Regards,
Matt
I'm not asking you to do it, mind you, I was just asking whether you thought it was possible to do easily. Some day when I have time, I'll look into it myself, but things have been hectic as of late. Thanks for the reply.
Regards,
Matt
Yes, since it's the same CPU in the remote and if the earlier extender writer(s) have already found out the addresses you need then it is a pretty straightforward task. The protocol code is very simple (if it's optimal I guess is another question).
That's OK, I didn't think you were, I knew whatever your answer I wouldn't have the remote you are using (I only have one with a backlight the 2117). I just asked since if others show interest it might encourage you to try and make some time to move it forward. Good luck.I'm not asking you to do it, mind you,
I also have the 2104, but my requirements for the light button are MUCH simpler.. I just want it to behave as a normal button. I can already assign things to the button in IR, but it STILL controls light enablement.. which makes it pretty useless..
From this thread, I think all this would require is the one-byte mod to the extender loop, right? That can't be too hard to port, can it? Do you have source code for the mods you made to the extender loop? maybe I can port this over the the latest 2104 extender to get what I need...
From this thread, I think all this would require is the one-byte mod to the extender loop, right? That can't be too hard to port, can it? Do you have source code for the mods you made to the extender loop? maybe I can port this over the the latest 2104 extender to get what I need...
In the source code of the extender you can see a line that says "CALL HandleLight".
That calls a ROM routine for checking whether the current keystroke is the light key and toggling the enable flag.
If you want to patch that processing out, you'd need to change all three bytes of that instruction to NOPs within the hex.
If you remove that instruction from the source code and rerun the assembler to get a new hex file, the extender would be 3 bytes smaller. I'm not sure whether that would require changes to the patch values (shich as keycode for shift) that are in the RDF.
That calls a ROM routine for checking whether the current keystroke is the light key and toggling the enable flag.
If you want to patch that processing out, you'd need to change all three bytes of that instruction to NOPs within the hex.
If you remove that instruction from the source code and rerun the assembler to get a new hex file, the extender would be 3 bytes smaller. I'm not sure whether that would require changes to the patch values (shich as keycode for shift) that are in the RDF.
The source code is the .asm file included in the extender's .zip file.frank wrote: (I will have to get the source code and assembler... Is this all available in the jp1-group files area?)
The assembler is
http://groups.yahoo.com/group/jp1/files ... 8asm_6.zip
Well, thanks to all the help, I was easily able to NOP HandleLight from the 2104 extender code, get the modified extender built and loaded onto my 2104. And it DOES have an effect on light handling, but not the one I wanted.
Now the light STAYS OFF all the time! (whether or not it is enabled prior to loading extender..) I wanted to disable JUST the light-key specific handling, NOT the actual "turn the light on" function. But it seems both are in HandleLight.
Is there a ROM entry point for just the "turn the light on" function? (i.e. don't check light key and/or light enable flag, just turn it on..) I could use this to replace the call to HandleLight, and then I think it would do what I want. Perhaps it is in the source code, but it wasn't obvious to me... Maybe I will have another look... Is there any documentation (other than source code) on all the ROM entry points that have been "discovered"? Or perhaps a disassembly of the ROM code itself?
Thanks for all the help... I am amazed at the depth of info that has been "discovered" about these remotes.
Now the light STAYS OFF all the time! (whether or not it is enabled prior to loading extender..) I wanted to disable JUST the light-key specific handling, NOT the actual "turn the light on" function. But it seems both are in HandleLight.
Is there a ROM entry point for just the "turn the light on" function? (i.e. don't check light key and/or light enable flag, just turn it on..) I could use this to replace the call to HandleLight, and then I think it would do what I want. Perhaps it is in the source code, but it wasn't obvious to me... Maybe I will have another look... Is there any documentation (other than source code) on all the ROM entry points that have been "discovered"? Or perhaps a disassembly of the ROM code itself?
Thanks for all the help... I am amazed at the depth of info that has been "discovered" about these remotes.
Sorry. That's what I thought you wanted.frank wrote: Now the light STAYS OFF all the time!
Yes there is, but no, it wouldn't do what you want, because it wouldn't enable the timeout to turn the light back off when no key is pressed.frank wrote: Is there a ROM entry point for just the "turn the light on" function? (i.e. don't check light key and/or light enable flag, just turn it on..) I could use this to replace the call to HandleLight, and then I think it would do what I want.
If you call 2E05 instead of HandleLight, that's close to what you want. It conditionally turns the light on based on the enable flag. Then I think you could enable the light after loading the extender and before activating it, so it would always be enabled after that.
Well, I tried 2E05, but it doesn't work any better. I made sure to enable the light before activating the extender, but it didn't seem to "stick". Something in extender startup must be setting it back off... I'll have to take a closer look at the code.
pgk: Is this how you disabled the light button in your 2116 extender mod?
pgk: Is this how you disabled the light button in your 2116 extender mod?