Knuckx
Joined: 15 Jul 2015 Posts: 66 Location: UK |
Posted: Wed Sep 30, 2015 5:45 am Post subject: Philips CD-i RC6 protocol, OR something else uses RC6-M-32! |
|
|
The Philips Compact Disc Interactive (CD-i) is a old games console. It has support for an IR controller with an analog joystick on it, two buttons, and some transport controls. I have a CD-i 210/25, and wanted my URC7781 to be able to control my CD-i.
I found some old Pronto captures of the remote commands, and with some experimentation have reverse engineered the protocol, and succeeded in making the URC7781 operate my CD-i. The following information is for the RC6 based version of the CD-i protocol; apparently earlier CD-i models (like the CD-i 205/00) use a RC5 based protocol instead.
The gamepad controls (analog joystick + two buttons) use RC6-M-32, but in a strange way (using the subdevice for data), seemingly contradicting the protocol notes in RMIR of "This supports a family of potential protocols of which MCE is the only know example."
Due to the stangeness of the gamepad controls, I have implemented this on my remote as several device upgrades, along with a series of HEX keymoves, attaching these device upgrades to the transport device upgrade.
Device upgrades: http://www.hifi-remote.com/forums/dload.php?action=file&file_id=13579
Key moves (onto CD4000/transport upgrade):
Code: | Dev Key# Type Code Raw data Hex EFC-5
Dev2 20 CD 4001 8F A1 00 12 00 19159
Dev2 35 CD 4002 8F A2 00 12 00 19159
Dev2 33 CD 4003 8F A3 00 12 00 19159
Dev2 36 CD 4004 8F A4 94 6E 94 42667
Dev2 37 CD 4004 8F A4 14 72 14 43703
Dev2 38 CD 4007 8F A7 00 12 00 19159
Dev2 39 CD 4005 8F A5 00 12 00 19159
Dev2 21 CD 4008 8F A8 FF B5 FF 60784
Dev2 22 CD 4004 8F A4 FF B5 FF 60784
Dev2 23 CD 4006 8F A6 FF B5 FF 60784
Dev2 25 CD 4008 8F A8 00 12 00 19159
Dev2 26 CD 4001 8F A1 00 12 00 19159
Dev2 27 CD 4006 8F A6 00 12 00 19159
Dev2 28 CD 4008 8F A8 7F B9 7F 61820
Dev2 29 CD 4004 8F A4 7F B9 7F 61820
Dev2 30 CD 4006 8F A6 7F B9 7F 61820
Dev2 32 CD 4003 8F A3 00 12 00 19159
Dev2 31 CD 4001 8F A1 00 12 00 19159
Dev2 34 CD 4002 8F A2 00 12 00 19159 |
CD-i RC6 Transport Controls
RC6, Device=25
OBC/Hex: Key
16 / 0x10 = Vol Up
17 / 0x11 = Vol Down
32 / 0x20 = Next
33 / 0x21 = Previous
44 / 0x2C = Play
48 / 0x30 = Pause
49 / 0x31 = Stop
67 / 0x43 = CDi/TV
CD-i RC6 Gamepad Controls
RC6-2-32, Device=25, T-Bit=0
OBC/Hex: Analog Joystick Y Axis Position
0 / 0x00 = Centered (used)
1 / 0x01 = Down Min
127 / 0x7F = Down Max
128 / 0x80 = Centered (unused)
129 / 0x81 = Up Min
255 / 0xFF = Up Max
Subdevice as binary 100bapppppppp
a: Button I State
b: Button II State
p: Analog Joystick X Axis Position
No buttons pressed, centered X axis = 4096 / 0x1000 / b'1000000000000'
p: Analog Joystick X Axis Position
0 / 0x00 = Centered (used)
1 / 0x01 = Right Min
127 / 0x7F = Right Max
128 / 0x80 = Centered (unused)
129 / 0x81 = Left Min
255 / 0xFF = Left Max _________________ In Use: 3x URC7781 / 2x Nevo C2 / Harmony PS3 -|- Learner: Nevo C2 |
|