JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

Porting an existing extender to the DCP501-R remote
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Extenders
View previous topic :: View next topic  
Author Message
joshville



Joined: 13 Jun 2005
Posts: 34

                    
PostPosted: Mon Jul 04, 2005 4:09 pm    Post subject: Porting an existing extender to the DCP501-R remote Reply with quote

Hal/Rob,

Here's the new thread as suggested in the hardware thread. As far as choosing which extender (TiVo or RTV5000) to port, I don't think I will be wanting to add too much complexity. I mostly want to make sure I can control all the functions of my other equipment and put in a few macros. If I make it too complicated then my wife will get ticked off every time she tries to watch TV. The speed of the RTV5000 extender sounds like a really nice feature, assuming that it's not too fast for my equipment. Not knowing what all is involved with porting an extender, I would say that whichever one is easiest to do would be fine. Is this something I could do myself with help, or does it require something like getting a ROM dump and finding the addresses of the different subroutines in the processor code?

-Josh
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21238
Location: Chicago, IL

                    
PostPosted: Mon Jul 04, 2005 4:27 pm    Post subject: Reply with quote

Just FYI (for Hal), even though this remote is only a 5-device remote, it has what appears to be 9 device buttons (all of the extra "device" buttons select the audio device mode and presumably select the appropiate input on the DCP501).

So, if the extender supports 9 devices, these 9 "device" buttons could become true device buttons.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
joshville



Joined: 13 Jun 2005
Posts: 34

                    
PostPosted: Mon Jul 04, 2005 7:01 pm    Post subject: Reply with quote

Just confirming the previous from Rob - the fake device buttons are just input selectors for the DCP501 box.
Back to top
View user's profile Send private message
mtakahar
Expert


Joined: 03 Aug 2003
Posts: 281

                    
PostPosted: Mon Jul 04, 2005 10:19 pm    Post subject: Reply with quote

I've created the beta 1. See if it works once you get the remote back.

The activation key is any of the volume buttons. I gave a rather large portion of the EEPROM space to the upgrade area because this remote doesn't seem to have many devices/protocols built-in. We can tweak those details later as you test it and find what works better.

I just included the documents from TiVo ex2, but most of the things apply to this extender. I'll try to find some time updating them later. The build/install scripts and KeyCode.htm are already updated.

Hal
Back to top
View user's profile Send private message
joshville



Joined: 13 Jun 2005
Posts: 34

                    
PostPosted: Tue Jul 05, 2005 7:36 am    Post subject: Reply with quote

Dang, you guys are fast!
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21238
Location: Chicago, IL

                    
PostPosted: Tue Jul 05, 2005 12:59 pm    Post subject: Reply with quote

Just to show you that there are no slackers here in the JP1 world, Nils has already generated a new image map for this remote and has included it in the new release of RDFs...

http://www.hifi-remote.com/forums/viewtopic.php?t=4804
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
joshville



Joined: 13 Jun 2005
Posts: 34

                    
PostPosted: Fri Jul 08, 2005 10:32 am    Post subject: Reply with quote

I got the remote back in the mail yesterday (again, thank you so much, Rob!). I'm not sure when I'll get a chance to play with the extender. Maybe this weekend, but we've got a lot going on. I did download extinstall this morning. I didn't find it in the files section, so I assume the Yahoo version is the latest.

I noticed the hex file for the extender wasn't there, so I built the hex file from the asm file. Was there anything I was supposed to do in the asm file first? I think I can figure out the rest of the stuff I need to do. I'll post again when I get something going on.

Thanks!

-Josh
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21238
Location: Chicago, IL

                    
PostPosted: Fri Jul 08, 2005 10:45 am    Post subject: Reply with quote

Hey Hal,
As this is Josh's first go round with extenders, it might be a good idea if you create IR.exe ready files for both the 1k and 2k versions.

Here's a "virgin" dump of the 1k chip:
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=1893

This remote isn't programmed to look for a 2k EEPROM, so the checksum range doesn't change when a 2k chip is installed.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
mtakahar
Expert


Joined: 03 Aug 2003
Posts: 281

                    
PostPosted: Fri Jul 08, 2005 12:14 pm    Post subject: Reply with quote

Sorry, I intended to include both .hex and the initial image for both 1k and 2k, but they didn't go in there because I forgot to take care of them in the Makefile. I updated the .zip file here: http://www.hifi-remote.com/forums/dload.php?action=file&file_id=1903

In this package, I've also updated the RDFs to point at the image map Nils created.

Josh, the image you created should be pretty much the same as the one I included. Just briefly check there are some macros, devices and protocols pre-installed. (extinstall sometimes doesn't complain when it cannot find the right RDF and it just creates wrong a image.)

Hal
Back to top
View user's profile Send private message
joshville



Joined: 13 Jun 2005
Posts: 34

                    
PostPosted: Sat Jul 09, 2005 12:45 pm    Post subject: Reply with quote

Hal,

Thanks so much for the updated files! I have way more confidence in the ones you did than what I would have done. Anyway, I've played around some, and I'm not getting great results. I'm not sure I'm doing everything right, though. Here's what I did:

I opened the dcp501_extender1-2K.txt file in IR and uploaded to the remote. I left all the device buttons settings as they were at first. After the upload, I hit the volume buttons but got no change. I really didn't expect to, since the 1800 upgrade was not set. To set TV to 1800 I used the normal code setting method on the remote. Then when I hit a volume button I got one longish blink and 3 shortish blinks. When I tested operation, the remote was in Cable mode. It would control my digital cable box , but nothing else. Also, every key press that was in the button set for cable illuminated the "TV" button. I believe this is because in the Other Settings area of the General tab the O Device and V Device were both set to CATV. Those are the initial settings when the extender is initialized, correct?

I tried changing the O Device and V Device setting to Audio and uploaded again. After initializing the extender the remote was in Audio mode. The device buttons worked to select input on the DCP501 box, but had no effect changing the mode of the remote. It appears as if the the initial macros you set up for device selection are not running for some reason. The extender is definitely running, though. Changing those O and V devices to TV had the effect of essentially disabling the remote and initializing the extender (four blinks) with every other press of the volume key.

I'm not sure if I should have made more changes before uploading to the remote or what. I'm usually pretty good at debugging, troubleshooting, and generally figuring things out, but this is very "black box" to me due to my limited assembler code experience and really having no idea what is going on inside the remote.

If I'm sort of at a loss right now. Any suggestions on some things to try?

Thanks so much!

-Josh
Back to top
View user's profile Send private message
joshville



Joined: 13 Jun 2005
Posts: 34

                    
PostPosted: Sat Jul 09, 2005 3:11 pm    Post subject: Reply with quote

I'm also trying to do a crash course on assembly code and learn exactly what is going on in the extender. There are a couple of things I can't really remember from what I've done before and I can't find it on the web either. I think I've ascertained that db and dw are define byte and word, respectively. I'm not sure what org and xorg mean. Is there a language reference for s3c8asm? Also, is there some sort of resource for extender writers that details what each of the subroutines in the ROM do? If not, I'll just keep trying to deconstruct what is going on in the asm file.

Thanks!

-Josh
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21238
Location: Chicago, IL

                    
PostPosted: Sat Jul 09, 2005 4:35 pm    Post subject: Reply with quote

joshville wrote:
Is there a language reference for s3c8asm?

First go here:
http://www.hifi-remote.com/files/

Then select this file:
S3C8-instruction-set.pdf (359k)
Instruction set for S3C80E5/P80E5/C80E7/P80E7
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
joshville



Joined: 13 Jun 2005
Posts: 34

                    
PostPosted: Sat Jul 09, 2005 7:13 pm    Post subject: Reply with quote

Thanks, Rob, I think I worded my previous post poorly. Being a mechanical guy with 90% of my programming skills (if you can call them that) self taught, I'm not so accurate with terminology. I had found the processor's instruction set previously in a google search. What I (think) I was trying to find is a list of the assembly directives... like the new IFDEF that is so well documented in the readme file for V7.4. I've looked all over for what exactly org and xorg do, but I haven't found anything. It looks like sort of a "start at this address and write all the following stuff" directive to the assembler, but I'm not sure. The other thing I'm trying to find with no luck is what the calls to the functions in the remote do, like

DebounceKeys = 1357 ;Debounced scan of keypad

I (think I) know that this line is just defining that the DebounceKeys routine starts at location 1357 in the ROM, but I have very little idea what a "debounced scan of keypad" is/does when it is called from the body of the extender.

If it's too complicated for someone who wasn't in it on the ground floor, that's OK. I'll just accept that and go on.

Sorry if I'm getting annoying.

Again, thanks for all you've done!

-Josh
Back to top
View user's profile Send private message
joshville



Joined: 13 Jun 2005
Posts: 34

                    
PostPosted: Sat Jul 09, 2005 8:14 pm    Post subject: Reply with quote

Again, sorry if I'm being annoying. I'd like to learn to the point where I can actually contribute to the community.

I found some more info in the protocol-builder-assembler-readme.txt file that explains xorg, wreg, and a couple of other assembler directives. I assume that at least xorg works the same in the assembler that is part of the protocol builder.

Still digging,

-Josh
Back to top
View user's profile Send private message
mtakahar
Expert


Joined: 03 Aug 2003
Posts: 281

                    
PostPosted: Sat Jul 09, 2005 8:55 pm    Post subject: Reply with quote

You are right about DB (Define Bytes) and DW (Define Words).
ORG sets the ORiGin of the pc (program counter), and the pc keeps track of the current address.
s3c8asm has the secondary pc and XORG is for this pc. It is convenient to have two pcs because we sometimes want to know where a specific part of the assembled code falls into the EEPROM.

S3c8asm doesn't know which one is used for what purpose, but we usually use the primary (ORG) for RAM addresses and the secondary (XORG) for EEPROM addresses. $ is a built-in variable that always has value of the current pc, and $$ is the secondary.


Going back to the extender stuff, it's usually just a few things that are wrong and making it not working unless it has some newly written code, which is not the case here.


joshville wrote:
...I hit the volume buttons but got no change. I really didn't expect to, since the 1800 upgrade was not set.

This extender uses a different address range for the device button settings from the original location, so it is normal you don't see the setup code for the activation code with the extender RDF, however, I've just tried forcing IR to use the non-extender RDF (patched the signature bytes: $002-$009 in the image if you are interested) and now I see a problem. Looks like I incorrectly put Cable/1800 instead of TV/1800.

I fixed this and uploaded a new one:
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=1903

Quote:
To set TV to 1800 I used the normal code setting method on the remote. Then when I hit a volume button I got one longish blink and 3 shortish blinks.

I don't think this would work because the remote can't know about the device button settings addresses in the extender RDF. Expected behavior is the same blinking pattern as the one you would see when you do the 981 reset. Did the pattern looked similar to you?

Whatever the case, I think it's good to make sure the LED on/off addresses in the extender are correct first.

Could you try this set of upgrades on the unextended remote before you try the extender? This is the same pause protocol in the extender, and the device upgrade has functions assigned on the digit buttons, and each button should blink the LED as many times as the digit (but 0 for 10 times).
Code:
Upgrade code 0 = 2c 50 (TV/1104)
 FB 00 81 0A 01 02 04 03 05 06 07 08 09
End

Upgrade protocol 0 = 01 FB (S3C80)
 00 00 01 28 03 8D 14 50
End


Hal
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Extenders All times are GMT - 5 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control