15-2104 - extender questions about LIGHT button

Support forum for extenders. If you're having trouble getting one up and running, this is the place to come.

Moderator: Moderators

Post Reply
johann83
Posts: 66
Joined: Sun Aug 03, 2003 6:18 am
Location: Pittsburgh, PA

15-2104 - extender questions about LIGHT button

Post by johann83 »

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
pgk
Posts: 113
Joined: Sat Aug 21, 2004 11:53 am
Location: London

Post by pgk »

So I was wondering how much remote specific stuff you had to use?
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.

Which remote are you thinking of?
johann83
Posts: 66
Joined: Sun Aug 03, 2003 6:18 am
Location: Pittsburgh, PA

Post by johann83 »

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
pgk
Posts: 113
Joined: Sat Aug 21, 2004 11:53 am
Location: London

Post by pgk »

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).
I'm not asking you to do it, mind you,
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.
frank
Posts: 4
Joined: Fri Dec 03, 2004 1:55 pm

Post by frank »

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...
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

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.
frank
Posts: 4
Joined: Fri Dec 03, 2004 1:55 pm

Post by frank »

Great... So NOPing seems like a safer way to go.. Won't need new rdf.. Right?

(I will have to get the source code and assembler... Is this all available in the jp1-group files area?)

Thanks for quick reply...
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

frank wrote: (I will have to get the source code and assembler... Is this all available in the jp1-group files area?)
The source code is the .asm file included in the extender's .zip file.
The assembler is
http://groups.yahoo.com/group/jp1/files ... 8asm_6.zip
frank
Posts: 4
Joined: Fri Dec 03, 2004 1:55 pm

Post by frank »

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.
johnsfine
Site Admin
Posts: 4766
Joined: Sun Aug 10, 2003 5:00 pm
Location: Bedford, MA
Contact:

Post by johnsfine »

frank wrote: Now the light STAYS OFF all the time!
Sorry. That's what I thought you wanted.
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.
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.

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.
frank
Posts: 4
Joined: Fri Dec 03, 2004 1:55 pm

Post by frank »

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?
Post Reply