MX-700: editing MXD files to add discrete codes - AVS Forum | Home Theater Discussions And Reviews
Forum Jump: 
 
Thread Tools
post #1 of 22 Old 04-14-2003, 12:55 PM - Thread Starter
AVS Forum Special Member
 
dswallow's Avatar
 
Join Date: Dec 2000
Location: Long Branch, NJ, USA
Posts: 1,333
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 13
I was just going to post this on remotecentral.com, but their server is having a bit of a problem posting messages right now and won't let me do anything but read, so I thought I'd post it here in the meantime, just to get it out of my system.

I recently returned a Harmony SST-768 and bought a Home Theater Master MX-700. I'd been playing around this weekend a bit and figured some of the innards out so I could manually create discrete codes without using another IR/remote product. Here's the steps using a specific example. Because the data stored varies a bit between devices, this can only be an example, but it shows the general process.

I hope it helps someone. :)





I had some discrete codes I needed to create and no way to do so with just the MX-700, but did find a simple way to do it after reviewing the MXD file in a hex editor.

I thought I'd pass along this bit of info in the form of an example:

For a Fujitsu P50XHA10US, the POWER TOGGLE function is represented by this IR code found in a CCF file for a Pronto remote (broken into multiple lines for convenience as shown a little later):

Code:
0010 000f 0010 000f 0010 002f 0010 000f
0010 002f 0010 000f 0010 000f 0010 000f
0010 002f 0010 002f 0010 000f 0010 0010
0010 000f 0010 002f 0010 002f 0010 000f
0010 000f 0010 000f 0010 000f 0010 000f
0010 000f 0010 000f 0010 000f 0010 000f
0010 000f 0010 000f 0010 002f 0010 000f
0010 000f 0010 000f 0010 000f 0010 002f
0010 000f 0010 002f 0010 000f 0010 002f
0010 000f 0010 000f 0010 000f 0010 002f
0010 000f 0010 000f 0010 000f 0010 000f
0010 000f 0010 000f 0010 000f 0010 000f
When you look at an MXD device file exported from the device that had this POWER TOGGLE learned, you'll see the learned codes are in large blocks padded with quite a few NULLs, and you'd see this string as the text representation (broken into multiple lines):

Code:
#UUTUTUUUTTUUUTTUUUUUUUUUUUTUUUUTUTUTUUUTUUUUUUUU
#UUTUTUUUTTUUUTTUUUUUUUUUUUTUUUUTUTUTUUUT
Now let's look at the patterns. The CCF file codes or raw IR code as it's stored can be converted to binary. Where "0010 000f" becomes a 0 and "0010 002f" becomes a 1. Converting this to hexadecimal, we get:

Code:
0010 000f 0010 000f 0010 002f 0010 000f 2
0010 002f 0010 000f 0010 000f 0010 000f 8
0010 002f 0010 002f 0010 000f 0010 0010 C
0010 000f 0010 002f 0010 002f 0010 000f 6
0010 000f 0010 000f 0010 000f 0010 000f 0
0010 000f 0010 000f 0010 000f 0010 000f 0
0010 000f 0010 000f 0010 002f 0010 000f 2
0010 000f 0010 000f 0010 000f 0010 002f 1
0010 000f 0010 002f 0010 000f 0010 002f 5
0010 000f 0010 000f 0010 000f 0010 002f 1
0010 000f 0010 000f 0010 000f 0010 000f 0
0010 000f 0010 000f 0010 000f 0010 000f 0
Now look at the MXD data, breaking it up into 4-byte groups, we see it corresponds to binary, too (U becomes 0, T becomes 1)... the same binary value:

Code:
UUTU  2
TUUU  8
TTUU  C
UTTU  6
UUUU  0
UUUU  0
UUTU  2
UUUT  1
UTUT  5
UUUT  1
UUUU  0
UUUU  0
Now if we look at the discrete code for POWER ON from a CCF file, and convert it to hex, we get:

Code:
0010 000f 0010 000f 0010 002f 0010 000f 2
0010 002f 0010 0010 0010 000f 0010 000f 8
0010 002f 0010 002f 0010 000f 0010 000f C
0010 000f 0010 002f 0010 002f 0010 000f 6
0010 000f 0010 000f 0010 000f 0010 000f 0
0010 000f 0010 000f 0010 0010 0010 000f 0
0010 000f 0010 000f 0010 002f 0010 000f 2
0010 000f 0010 000f 0010 000f 0010 002f 1
0010 000f 0010 002f 0010 000f 0010 002f 5
0010 000f 0010 000f 0010 000f 0010 002f 1
0010 002f 0010 000f 0010 000f 0010 000f 8
0010 000f 0010 000f 0010 0010 0010 000f 0
So now we just update the pattern in the MXD file with the updated sequence. The second to the last grouping becomes "TUUU". Save those changes and in MXEditor import the updated device file back over the original device and download to the MX-700 remote, and now that learned code functions as POWER ON instead of POWER TOGGLE.

By starting with a known learned code, you can find it using a search in a hex editor, so you know which to update.

I was able to add all the discrete codes for aspect ratio changes and power on/off for the Fujitsu this way, one at a time, by learning the POWER TOGGLE code, exporting the device, changing that code with the hex editor, and reimporting the device and then learning the POWER TOGGLE code again on the next button, et. al.

The actual numbers and sequences of characters do change with different devices, and so far I've found one device -- a Zenith HD-SAT520, that seems to defy figuring out using this method, but I'm still working on it -- but the concept remains very similar in most cases.

If you look closer at the MXD file, you'll also see the bytes immediately prior to the learned code identify the number of bytes, and a few prior to that identifies a unique ID for the learned code which corresponds to the label you'll see elsewhere in the MXD. Maybe at some point I can figure enough of the MXD file format out to create a program to do this more simply, but at least there is a way to get created discrete codes into the device without having to use a different remote.

Just wanted to share. :)
dswallow is offline  
Sponsored Links
Advertisement
 
post #2 of 22 Old 04-14-2003, 01:01 PM
AVS Forum Special Member
 
MikeSRC's Avatar
 
Join Date: Dec 1999
Location: Napa, CA
Posts: 5,717
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 19 Post(s)
Liked: 16
Very cool, Doug. :D

Thanks for sharing. BTW, what are you using for the hex editor?

Enjoy!

Mike
Surf Remote Control
MikeSRC is offline  
post #3 of 22 Old 04-14-2003, 01:09 PM - Thread Starter
AVS Forum Special Member
 
dswallow's Avatar
 
Join Date: Dec 2000
Location: Long Branch, NJ, USA
Posts: 1,333
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 13
I've been using HEdit from (www.yurisw.com), however I notice it doesn't seem to exist anymore as a product, at least from them directly. WinHex (www.winhex.com) is another decent one.
dswallow is offline  
Sponsored Links
Advertisement
 
post #4 of 22 Old 04-14-2003, 02:27 PM
AVS Forum Special Member
 
toots's Avatar
 
Join Date: Aug 2000
Location: Bedford, NH USA
Posts: 3,686
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Oooh.

Mega kewl.

It is unclear to me whether or not evil exists in this world, but I am sure that poopie-heads do.
toots is offline  
post #5 of 22 Old 04-14-2003, 02:57 PM
Super Moderator
 
markrubin's Avatar
 
Join Date: May 2001
Location: Jersey Shore
Posts: 21,026
Mentioned: 56 Post(s)
Tagged: 0 Thread(s)
Quoted: 1735 Post(s)
Liked: 3468
great work Doug:

this information is very useful

Thanks so much

now if we could get you to play with an iPronto!!

Mark:)

please take the high road in every post:do not respond to or quote a problematic post: report it
HDMI.org:what a mess
HDCP = Hollywood's Draconian Copy Protection system

markrubin is offline  
post #6 of 22 Old 04-14-2003, 03:11 PM - Thread Starter
AVS Forum Special Member
 
dswallow's Avatar
 
Join Date: Dec 2000
Location: Long Branch, NJ, USA
Posts: 1,333
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 13
Quote:
Originally posted by markrubin
now if we could get you to play with an iPronto!!
I can be bribed. Have an extra one laying around?! :D
dswallow is offline  
post #7 of 22 Old 04-14-2003, 03:23 PM
Super Moderator
 
markrubin's Avatar
 
Join Date: May 2001
Location: Jersey Shore
Posts: 21,026
Mentioned: 56 Post(s)
Tagged: 0 Thread(s)
Quoted: 1735 Post(s)
Liked: 3468
Quote:
Originally posted by dswallow
I can be bribed. Have an extra one laying around?! :D
I'll have to look around

in the meantime- here is a link to the software!

http://www.remotecentral.com/cgi-bin...it_V1_0_13.zip

Mark:D

please take the high road in every post:do not respond to or quote a problematic post: report it
HDMI.org:what a mess
HDCP = Hollywood's Draconian Copy Protection system

markrubin is offline  
post #8 of 22 Old 04-15-2003, 08:27 PM
Advanced Member
 
C Clark's Avatar
 
Join Date: Jan 2001
Location: Plano, TX, USA
Posts: 726
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
This is excellent. The IR database that mostly works for my CD player (transport controls) doesn't work for the power commands. So this is exactly what I needed. Now I just need to find the discrete power commands for a 5-disk, Sony CD player (CDP-C705). And figure out where to insert them into the mxd file.
C Clark is offline  
post #9 of 22 Old 04-16-2003, 06:05 AM
Advanced Member
 
jrannison's Avatar
 
Join Date: Mar 2003
Location: Santa Clarita, Ca
Posts: 878
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Thanks Doug.

I reviewed the serial port command set for my P50XHA10US and all "Toggles" have a discreet command set. So I concluded it could be completed, but never looked at Reverse Engineering the IR code.

Great Work!


John

John
*************
jrannison is offline  
post #10 of 22 Old 04-16-2003, 03:18 PM - Thread Starter
AVS Forum Special Member
 
dswallow's Avatar
 
Join Date: Dec 2000
Location: Long Branch, NJ, USA
Posts: 1,333
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 13
MXD files revisited:

Here's data from a CCF file for a Zenith HD-SAT520 SD/HD toggle command:

Code:
0014 00cf 0014 00cf 0014 0015 0014 00a7 
0014 00cf 0014 0015 0014 00a7 0014 0015 
0014 00a7 0014 00cf 0014 00cf 0014 0015 
0014 00a7 0014 00cf 0014 0015 0014 00a7 
0014 00cf 0014 0015
The oddity originally defying explanation I mentioned earlier is that there's three different lengths if IR bursts. "0014 0015" we'll call "0", "0014 00a7" we'll call "1" and "0014 00cf" that we'll call "2". So converting it accordingly, we get:

Code:
0014 00cf 0014 00cf 0014 0015 0014 00a7    2201
0014 00cf 0014 0015 0014 00a7 0014 0015    2010
0014 00a7 0014 00cf 0014 00cf 0014 0015    1220
0014 00a7 0014 00cf 0014 0015 0014 00a7    1201
0014 00cf 0014 0015                        20
If we look at the same code learned by an MX-700, it's stored as:

Code:
BBDCBDCDCBBDCBDCBDABBDCBDCDCBBDCBDCBD
Looking more carefully, notice it's really one pattern repeated twice with a separator:

Code:
 BBDCBDCDCBBDCBDCBD
ABBDCBDCDCBBDCBDCBD
Converting "B" to "2","C" to "1" and "D" to "0", that pattern becomes:

Code:
220120101220120120
Which matches the CCF file version exactly.

Simply reviewing both files for each version of the same code will let you determine how the conversion needs to be done, then you can convert any other codes found in a CCF file and use a hex editor to modify the MXD file.

I'm beginning to suspect that there's a lookup table in the MXD file that these individual bytes are referencing for the actual IR burst timing. It appears to exist just prior to the first learned code. I haven't yet spent much time trying to determine how it's indexed but it seems to hold some promise based on the actual values there. I also suspect there's a clock multipler value stored somplace that would make all this match up with the values that would be obtained doing the same with the CCF version of the code and the preamble portion where the clock multiplier is specified.

I see a similar oddity with IR codes learned from a Channel Master antenna rotator remote control, with a couple additional variations in IR bursts, as opposed to just 2 or 3. But have no CCF file for that remote from which to make any comparisons.
dswallow is offline  
post #11 of 22 Old 04-21-2003, 11:35 PM
Member
 
rhosier's Avatar
 
Join Date: Apr 2003
Location: Folsom, CA
Posts: 20
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Doug,

Good work! When I got my remote I opend one of the files in UltaEdit-32 and poked around at trying to determine if I could figure out what the structures were for the file so I could do this. Spent about a 2 hour block working on it before I simply ran out of time and have never gotten back to it since. From my looking and testing there are two entries for each device and one 'points' to the other, probably an index or an offset as you point out. I didn't see anything 'hard' about the structure of the data, but it wasn't obvious since the organization of the data didn't match my expectations given buttons that I had programmed, things like the order of the definitions not matching the order on the screens really. I suspected that they were linked via another structure that I didn't get a chance to investigate since I only worked on understanding particular coed sequences.

In any case if I get back to this I'll share here and if you want any help with implementing an editor (I could do it in C or Java) if you get any of the structues down let me know.

I really like the remote and don't understand why the company doesn't have an editor for the IR codes already or why they don't simply post the data structures so we can build one for it.

Roger
rhosier is offline  
post #12 of 22 Old 04-22-2003, 05:17 AM
Member
 
jstreet's Avatar
 
Join Date: Sep 2002
Posts: 37
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Doug, Roger et. al,

I think an editor would be a great for my type of user. For example, I would LOVE to be able to directly access the service menu in my Hitachi XWX HDTV--without having to shut off the set then pushing and holding and releasing two buttons in exact timing...arrghhh.

I certainly appreciate your posts, and hope to make good use of them in the future.

Jim
jstreet is offline  
post #13 of 22 Old 04-22-2003, 05:22 AM - Thread Starter
AVS Forum Special Member
 
dswallow's Avatar
 
Join Date: Dec 2000
Location: Long Branch, NJ, USA
Posts: 1,333
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 13
Jim, do you have any idea if there is an IR code or codes that can accomplish that on your set? If they've gone to such extremes for entry into the service menu, I wouldn't think they provided an easy way.
dswallow is offline  
post #14 of 22 Old 04-22-2003, 01:23 PM
Member
 
jstreet's Avatar
 
Join Date: Sep 2002
Posts: 37
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Doug,

I found the following paragraph somewhere else--probably at Remote Central--and stashed it in my Word document containing all things Hitachi. It describes a way to get into the service menu directly:

Service Menu IR code: For the One-For-All remotes (some Radio Shack remotes are also the same) use TV code 0145 and setup one of the buttons for efc (extended function code) 252 to get to the service menu. The procedure is to press the TV button, press and hold Setup (wait for 2 led blinks), enter 994, press Setup again (don't hold), enter 252, then press the button you want to assign it to (I used GUIDE).

Thanks for your interest!

Jim
jstreet is offline  
post #15 of 22 Old 04-22-2003, 04:35 PM
Advanced Member
 
peebee's Avatar
 
Join Date: Mar 2003
Location: Evanston, IL
Posts: 764
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
Why don't you just buy the RS or OFA remote ($10-$60), program it like you just said, and learn it to your MX-700?

Heck, if you live around the north side of Chicago I'll lend you my RS 15-2116. I bought the RS remote & a JP1 cord thinking I'd need to get them anyway if I wanted to do anything with an MX-500 or MX-700. Turns out, I like the RS/JP1 so much I may just stick with that for a while.

Y = 0.30R + 0.59G + 0.11B
peebee is offline  
post #16 of 22 Old 05-15-2003, 08:35 AM
Kir
AVS Forum Special Member
 
Kir's Avatar
 
Join Date: Aug 2002
Location: Ontario, Canada
Posts: 1,340
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 28 Post(s)
Liked: 18
http://www.markus-fritze.de/pronto/
The Linux folks published the code for CCF file parsing :)

Hope it helps in your research,
Kirill
Kir is offline  
post #17 of 22 Old 05-15-2003, 09:53 AM
AVS Forum Addicted Member
 
thebland's Avatar
 
Join Date: Jan 2001
Location: Detroit, Michigan USA
Posts: 26,176
Mentioned: 33 Post(s)
Tagged: 0 Thread(s)
Quoted: 2101 Post(s)
Liked: 1277
I'm new to remotes...

Can the MX 700 use Pronto CCF codes? or where can you get a big database for older products to control?

I have been to DEenon's site for a code for my old tuner. They have a discreet code / download listed. Is this easily adapted to the MX 700?

Thanks!

Goodbye to a great audio and video genius and writer... JOHN GANNON. I enjoyed your friendship, wit and a nice long run we took around Indianapolis at CEDIA years back... and for buying my Runco 980 Ultra years back... you saved my ass! Rest in peace.
thebland is online now  
post #18 of 22 Old 05-15-2003, 10:22 AM
Kir
AVS Forum Special Member
 
Kir's Avatar
 
Join Date: Aug 2002
Location: Ontario, Canada
Posts: 1,340
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 28 Post(s)
Liked: 18
Quote:
Originally posted by thebland
I'm new to remotes...

Can the MX 700 use Pronto CCF codes? or where can you get a big database for older products to control?

I have been to DEenon's site for a code for my old tuner. They have a discreet code / download listed. Is this easily adapted to the MX 700?

Thanks!
Hi Jeff,
MX-700 can't use Pronto CCF codes natively. There are rumors that the CCF to MXD (MXF) software will be created, but that's about it.
In order to adopt a discreet code for your Denon tuner, you would need a JP1 (too much hassle IMO).
You might be lucky and find somebody who already created a MXD with the those commands at www.remotecentral.com

Kirill
Kir is offline  
post #19 of 22 Old 05-15-2003, 10:27 AM
AVS Forum Special Member
 
MikeSRC's Avatar
 
Join Date: Dec 1999
Location: Napa, CA
Posts: 5,717
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 19 Post(s)
Liked: 16
You may also find the codes you find in the MXEditor's IR database.

Enjoy!

Mike
Surf Remote Control
MikeSRC is offline  
post #20 of 22 Old 05-15-2003, 10:58 AM - Thread Starter
AVS Forum Special Member
 
dswallow's Avatar
 
Join Date: Dec 2000
Location: Long Branch, NJ, USA
Posts: 1,333
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 1 Post(s)
Liked: 13
Quote:
Originally posted by Kir
http://www.markus-fritze.de/pronto/
The Linux folks published the code for CCF file parsing :)
Thanks Kirill, that end of the equation I had no trouble getting. :)
dswallow is offline  
post #21 of 22 Old 06-06-2003, 05:18 PM
Member
 
GregoriusM's Avatar
 
Join Date: May 2001
Location: Winnipeg, MB Canada
Posts: 114
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 10
MX 700 files can be found in the FILES section on Remote Central.

Also, go to the Home Theater Forum on Remote Central and you will see my post on the upcoming MX Editor update that allows you to open a CCF file and use the IR codes contained therein.

MX Editor Conversion thread on Remote Central
http://www.remotecentral.com/cgi-bin...hread.cgi?3337

MX-700 FILES section on Remote Central
http://www.remotecentral.com/cgi-bin...cgi?area=mx700

... Greg
GregoriusM is offline  
post #22 of 22 Old 06-07-2003, 05:52 AM
HAN
Advanced Member
 
HAN's Avatar
 
Join Date: Aug 2001
Location: Indiana, USA
Posts: 654
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 0 Post(s)
Liked: 11
thebland: Kir is right. There has been a posting of the Denon codes converted to JP1 equivalents over at remotecentral.com. I have already made use of some of the rarer ones for my 3803 receiver.

BUT, if you buy an MX-700, (as Mike points out) you probably won't need to mess with JP1. The MX-700 builtin codebase already has several models of Denon tuners listed.

Which one do you need? I'd be happy to check and see if it's in there...
HAN is offline  
Sponsored Links
Advertisement
 
Closed Thread Remote Control Area

Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off