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

Discrete On/Off for XBOX 360

 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> Discrete Codes
View previous topic :: View next topic  
Author Message
mikek



Joined: 02 May 2006
Posts: 33

PostPosted: Mon Jan 11, 2010 9:13 pm    Post subject: Discrete On/Off for XBOX 360 Reply with quote

Does anyone have the discrete codes for xbox 360.

I found these pronto codes, but I can't gt IRtool to work with them.

Disrete on

0000 0073 0044 0000 0060 0020 0010 0010 0010 0010 0010 0020 0010 0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0010 0010 0020 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0020 0010 0010 0010 09bd 0060 0020 0010 0010 0010 0010 0010 0020 0010 0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0010 0010 0020 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0020 0010 0010 0010 0020




Discrete off

0000 0073 0044 0000 0060 0020 0010 0010 0010 0010 0010 0020 0010 0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0020 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0020 0010 0010 0010 09bd 0060 0020 0010 0010 0010 0010 0010 0020 0010 0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0010 0010 0010 0010 0020 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010 0020 0010 0010 0010 0020


I need EFC or OBC.

Thanks for any help.

-mk
Back to top
View user's profile Send private message
cauer29



Joined: 03 Feb 2010
Posts: 235

PostPosted: Wed Feb 03, 2010 10:28 am    Post subject: Re: Discrete On/Off for XBOX 360 Reply with quote

XBox360 uses the MCE protocol which is a variant of RC6 with device 116 and subdevice 15. Discrete power on is EFC 099 or OBC 2A. Discrete power off is EFC 075 or OBC 29.

BTW, the pronto codes shown above do not appear to be compatible with XBox360.

A.A.
Back to top
View user's profile Send private message
The Robman
Site Owner


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

PostPosted: Wed Feb 03, 2010 6:30 pm    Post subject: Reply with quote

Here is the pronto code above translated into RC6 binary:

ON
10000000 00001111 00000100 00001100
OFF
10000000 00001111 10000100 00001100
_________________
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
cauer29



Joined: 03 Feb 2010
Posts: 235

PostPosted: Wed Feb 03, 2010 11:42 pm    Post subject: Reply with quote

The Robman wrote:
Here is the pronto code above translated into RC6 binary:

ON
10000000 00001111 00000100 00001100
OFF
10000000 00001111 10000100 00001100


The 2 sequences differ only in the MCE toggle bit. So, they're actually for the same command. The 3rd "byte" should be 'T1110100' with T being the toggle value. MCE uses a different bit for toggle than generic RC6. The 4th byte there is OBC 0x0C which is non-discrete power on/off, but even that won't work unless the third byte is changed, as the 360 only accepts 116 for device.

ON
The correct sequence should be 10000000 00001111 01110100 00101010
OFF
The correct sequence should be 10000000 00001111 01110100 00101001

Here's working Pronto code for Xbox360 discrete on and discrete off:

discrete on
0000 0073 001f 0000 0061 0022 0011 0012 000e 0011 0010 0021 0012 001f 0031 0021 0010 0011 0010 0010 0012 000f 0011 0010 0010 0011 0010 0013 000e 0011 0010 0011 0011 000f 0011 0010 0021 0011 0010 0010 0011 0010 0011 0020 0021 0011 0010 0011 0010 0021 0021 0021 0010 0010 0011 0010 0011 0010 0021 0021 0021 0021 0020 0021 0010 0022

discrete off
0000 0073 0020 0000 0061 0021 0011 0011 000f 0011 0010 0021 0011 0020 0031 0021 0010 0011 0010 0010 0012 000f 0011 0010 0010 0011 0010 0012 000f 0011 0010 0011 0010 0010 0013 000e 0021 0010 0011 0012 000f 0010 0010 0011 0011 0010 0012 000f 0010 0011 0010 0021 0021 0021 0010 0010 0011 0010 0011 0010 0021 0021 0021 0021 0010 0010 0021 0021

The XBox360 absolutely requires proper alternating toggle bit. So that needs to be dealt with, if not using a an MCE protocol upgrade. The pronto codes above, obviously only have one setting for the parity bit.

A.A.
Back to top
View user's profile Send private message
mikek



Joined: 02 May 2006
Posts: 33

PostPosted: Thu Feb 04, 2010 11:19 pm    Post subject: Re: Discrete On/Off for XBOX 360 Reply with quote

cauer29 wrote:
XBox360 uses the MCE protocol which is a variant of RC6 with device 116 and subdevice 15. Discrete power on is EFC 099 or OBC 2A. Discrete power off is EFC 075 or OBC 29.

BTW, the pronto codes shown above do not appear to be compatible with XBox360.

A.A.


Those codes worked great. Thanks.

-mk
Back to top
View user's profile Send private message
siulung



Joined: 24 Mar 2010
Posts: 3

PostPosted: Wed Mar 24, 2010 9:20 pm    Post subject: Reply with quote

I am trying to understand the Microsoft protocol and came across this post , can someone explained the algorithm to convert from
116 15 2A and 116 15 29
to the binary string

ON
10000000 00001111 01110100 00101010
OFF
10000000 00001111 01110100 00101001

I do think the conversion is correct as i have some other codes to compare with , but i am more interested in how is it being done. I do see that 2A and 29 are just hex to bin , but all the rest doesn't make sense to me

Is it follow the same funny algorithm RC5 use picking bit here and there and add them up or something like that?

Does anyone have step by step detailed documentation on how this binary string conversion is being done?
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 6954
Location: Florida

PostPosted: Wed Mar 24, 2010 10:22 pm    Post subject: Reply with quote

siulung wrote:
I am trying to understand the Microsoft protocol and came across this post , can someone explained the algorithm to convert from
116 15 2A and 116 15 29
to the binary string

ON
10000000 00001111 01110100 00101010
OFF
10000000 00001111 01110100 00101001

I do think the conversion is correct as i have some other codes to compare with , but i am more interested in how is it being done. I do see that 2A and 29 are just hex to bin , but all the rest doesn't make sense to me

Is it follow the same funny algorithm RC5 use picking bit here and there and add them up or something like that?

Does anyone have step by step detailed documentation on how this binary string conversion is being done?


Well the DecodeIR.HTML that came with DecoeIR might shed some light on this.
Quote:

mce
IRP notation: {36k,444,msb}<-1,1|1,-1>(6,-2,1:1,6:3,-2,2,OEM1:8,OEM2:8,T:1,D:7,F:8,-???)+
MCE is a member of the RC6 family. Technically it is RC6-6-32 with the standard toggle bit zero, with the OEM1 field equal to 128, and with a nonstandard (for the RC6 family) toggle bit added. If all those rules are met, DecodeIr will display the name as "MCE" and with the OEM2 field moved to the subdevice position. Otherwise it will display RC6-6-32.


They've ignaored the first few timings in the signal because they are not part of the data portion of the signal.

So this is oem1, oem2, toggle + 7 device bytes and function and the IRP tells us this is msb so it reads from left to right.

10000000 00001111 0 1110100 00101010

Code:

10000000 oem1 code of         128
00001111 oem2 subdevice       15
0              toggle bit always zero
1110100   device                    116
00101010 function                   29h


This is how the bytes decode, but if you want to delve further the next level would be to see what the actual timings look like.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
siulung



Joined: 24 Mar 2010
Posts: 3

PostPosted: Sat Mar 27, 2010 3:20 pm    Post subject: Reply with quote

Thank you , i think i got lost when i assume all the 3 values are all hex , as the 116 and 15 are actually in dec.

What i am really trying to do is to look for the discrete commands for MCE , not xbox , which should be using the same protocol.

There are multiple post confirming that discrete power(Suspend) exist for Vista and Windows7 MCE.

The codes , which came from the inf file are
0x0C,0x00,0x00,0x00, 0x03,0x82,0x00, \ ; Suspend
0x29,0x00,0x00,0x00, 0x03,0x83,0x00, \ ; Discrete Power On
0x2A,0x00,0x00,0x00, 0x03,0x82,0x00, \ ; Discrete Power Off

which i assume device 130 , subdevice 03 and OBC 0C, 29 , 2A which doesn't seems to be working. After more reading , it seems MCE should be using device 128 subdevice 3972 ?? and i don't seems to be able to be able to convert these codes..

Here are some links about these discrete codes
Microsoft confirming discrete exist
http://www.microsoft.com/windowsxp/expertzone/chats/transcripts/09_0226_ez_wmc.mspx

Some forum discuss about Windows Media Center (Windows7 about these codes)
http://thegreenbutton.com/forums/p/84486/437255.aspx

anyone have some insight into these?
I have try playing with makehex using rc6-M-L.hex , without much success so far.
Back to top
View user's profile Send private message
cauer29



Joined: 03 Feb 2010
Posts: 235

PostPosted: Sun Mar 28, 2010 11:37 am    Post subject: Reply with quote

siulung wrote:
Thank you , i think i got lost when i assume all the 3 values are all hex , as the 116 and 15 are actually in dec.

What i am really trying to do is to look for the discrete commands for MCE , not xbox , which should be using the same protocol.

There are multiple post confirming that discrete power(Suspend) exist for Vista and Windows7 MCE.

The codes , which came from the inf file are
0x0C,0x00,0x00,0x00, 0x03,0x82,0x00, \ ; Suspend
0x29,0x00,0x00,0x00, 0x03,0x83,0x00, \ ; Discrete Power On
0x2A,0x00,0x00,0x00, 0x03,0x82,0x00, \ ; Discrete Power Off

which i assume device 130 , subdevice 03 and OBC 0C, 29 , 2A which doesn't seems to be working. After more reading , it seems MCE should be using device 128 subdevice 3972 ?? and i don't seems to be able to be able to convert these codes..

Here are some links about these discrete codes
Microsoft confirming discrete exist
http://www.microsoft.com/windowsxp/expertzone/chats/transcripts/09_0226_ez_wmc.mspx

Some forum discuss about Windows Media Center (Windows7 about these codes)
http://thegreenbutton.com/forums/p/84486/437255.aspx

anyone have some insight into these?
I have try playing with makehex using rc6-M-L.hex , without much success so far.


Here is the irp file for Makehex that will produce a discrete off with T=0:

Device=116.15
Function=41
Define M=6
Define T=0
Frequency=36000
Time Base=444
Message Time=106m
Zero=-1,1
One=1,-1
First Bit=MSB
Form=;6,-2,1:1,M:3,-2,2,128:8,S:8,T:1,D:7,F:8

This is for xbox360, but Windows Media Center the device is not usually 116, though you can edit something or other on your PC to get it to accept 116 or any one of the 8 different device values that are possible. My understanding is that the default for a Windows MCE computer, is 4. The others are 20, 36, 52, 68, 84 and 100. The 360 can be set to promiscuous mode where it accepts any of the 8 possible device values. I don't know if a Windows MCE comptuer can be set to promiscuous mode.

It's important that T be handled properly. You can't just send T=0 and expect it to work every time. It has to toggle between 0 and 1 on alternate cmds. For the discrete codes, you can send one of each and it will work.

Here's a description of the MCE protocol from the Remote Master upgrade:

MCE is a form of RC6-6-32
The correspondence between fields of MCE and fields of RC6-M-32 is:
. The RC6 M value is 6 because the protocol is RC6-6-32
. The RC6 Toggle bit is always zero in MCE
. The RC6 Device is the OEM1 field of MCE, which always has the value 128
. The RC6 Subdevice is the MCE Device plus 256 times the OEM2 plus 128 times the MCE toggle bit
for example in Microsoft MCE, device is 4 and OEM2 is 15, so the RC6-6-32 device is 128 and subdevice is 4+256*15+(either 128 or 0) = either 3844 or 3972

The MCE toggle bit actively toggles when this protocol is used, so you do not need the Windows registry change that disables debounce (to work with learned signals in which the toggle bit isn't active). The RC6 toggle bit is a different bit than the MCE toggle bit. The RC6 toggle bit is always zero in MCE signals.

Don't get confused by MCE vs RC6-6-32 device numbers. The description is there just to show you how to convert back and forth between MCE and RC6-6-32. It isn't necessary to know anything at all about RC6-6-32 to understand the MCE protocol, even if it is a variant of RC6-6-32. The MCE protocol is fully described by the the contents of the irp file contents I posted above. I created that file by modifying the mce.irp file that came with the makehex program.

As to what the values in the inf file you have are, I would say that only the very first byte corresponds directly to anything recognizable in the MCE protocol. The rest of it means something to the MCE PC, but doesn't appear as part of the IR sent.

A.A.
Back to top
View user's profile Send private message
siulung



Joined: 24 Mar 2010
Posts: 3

PostPosted: Mon Mar 29, 2010 9:42 pm    Post subject: Reply with quote

Thx , that explained a lot about the protocol and make perfect sense.

the Makehex version i download came with an IRF file for MCE which is named rc6-M-L.irp and it is using the device 128.3972 , which most of the commands do works , i just assume there some sort of connection between 128.3972 and 0x82 0x03 since those are the hex value that i can modified to have the MCE to accept something else.

with 128.3972 , command #12 ( 0c ) is the working command for
0x0C,0x00,0x00,0x00, 0x03,0x82,0x00, \ ; Suspend
( which this is the regular power toggle command)
that is the reason why i was under the impression there have to be some sort of conversion between the two and was trying to see how they fit in.

At this point , i think i should be able to figure out what i am trying to look for.

Thank you once again
Back to top
View user's profile Send private message
cauer29



Joined: 03 Feb 2010
Posts: 235

PostPosted: Tue Mar 30, 2010 1:03 am    Post subject: Reply with quote

siulung wrote:
Thx , that explained a lot about the protocol and make perfect sense.

the Makehex version i download came with an IRF file for MCE which is named rc6-M-L.irp and it is using the device 128.3972 , which most of the commands do works , i just assume there some sort of connection between 128.3972 and 0x82 0x03 since those are the hex value that i can modified to have the MCE to accept something else.

with 128.3972 , command #12 ( 0c ) is the working command for
0x0C,0x00,0x00,0x00, 0x03,0x82,0x00, \ ; Suspend
( which this is the regular power toggle command)
that is the reason why i was under the impression there have to be some sort of conversion between the two and was trying to see how they fit in.

At this point , i think i should be able to figure out what i am trying to look for.

Thank you once again


The rc6-M-L.irp protocol descriptor is almost the same as MCE. The equivalence goes something like this:

Code:
rc6-M-L.irp

Device=128.3972
Function=0..255
Define M=6
Define L=32
Define T=0

Protocol=RC6
Frequency=36000
Time Base=444
Message Time=107m
Zero=-1,1
One=1,-1
Prefix=6,-2,1,-1
First Bit=MSB
Default S=0
Form=;*,M:3,(4*T-2),(2-4*T),D:8,S:(L-16),F:8

and this is exactly equivalent to

Code:
Device=116.15
Function=0..255
Define M=6
Define T=0
Frequency=36000
Time Base=444
Message Time=106m
Zero=-1,1
One=1,-1
First Bit=MSB
Form=;6,-2,1:1,M:3,-2,2,128:8,S:8,T:1,D:7,F:8

The prefix from rc6-M-L.irp is 6,-2, 1, -1 and this is the same as the 6,-2, 1:1 from MCE.

M:3 is the same for both. The 4*T-2 is the same as 2 and 2-4*T is -2 and this is the 2,-2 from MCE, since RC6 T is always 0 for MCE.

The D:8 from rc6-M-L.irp is just the 128:8 from MCE.

Code:
The S:(L-16)
of rc6-M-L.irp encompasses S:8, T, D:7 in the MCE protocol. Example: rc6-M-L.irp S= 3972. So, L-16 = 3956. Convert to hex 0x0F74. The 0x0F is the subdevice 15 from MCE and the 0x74 is the 116 device number from MCE, assuming that MCE T=0. rc6-M-L.irp can't properly deal with MCE toggle bit since otherwise the device number would have to change on every other cmd. F:8 is the same for both rc6-M-L.irp and MCE.

So, as you can see, if you change the MCE device, you have to recalculate the rc6-M-L subdevice. Example: MCE device 100 is 0x64 and that translates to rc6-M-L subdevice 0xF64 (3940) + 16 = 3956.

A.A.
Back to top
View user's profile Send private message
cauer29



Joined: 03 Feb 2010
Posts: 235

PostPosted: Tue Mar 30, 2010 9:42 am    Post subject: Reply with quote

cauer29 wrote:

The 4*T-2 is the same as 2 and 2-4*T is -2 and this is the 2,-2 from MCE, since RC6 T is always 0 for MCE.


Actually, I got that backwards. 4*T-2 = -2 and 2-4*T = 2, assuming rc6 T=0. -2, 2 is what is in MCE at that point.

A.A.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> Discrete Codes All times are GMT - 5 Hours
Page 1 of 1

 
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
Get Smart! the band's official homepage Rockabilly Central