Prontoをハックする

Last modified: 04/06/2004

このページでは、Prontoの解析情報などを記載しています。

このページのProntoの画面は、ProntoEditおよびProntoEmulatorからキャプチャしたものです。
Screenshots from ProntoEdit: (c)1998, Philips Electronics N.V.


!警告!

このページでは、メーカの意図していない赤外線信号の送信や、メーカの意図していない使用方法について記述しています。確率的には極めて低いですが、これらにより機器が不具合・故障を起こしたり、最悪の場合、機器の暴走・加熱等により火災等を引き起こし人命に危害を与える可能性が、絶対に無いとは言い切れません。

このページに記述してある情報の影響により、いかなる事象が発生しても(または発生しなくても)、その責任はあなた自身で取ってください。私(吉田和徳)は一切責任を負いません。

また、このページに記述されている内容について、各メーカに問い合わせることはおやめください。


赤外線信号の解析

ProntoEditのボタン等のプロパティから、アクションリストの学習した赤外線信号をダブルクリックすると、下図のような赤外線コード編集のダイアログが現れます。

[Edit IR Code]ダイアログ

私もこのコードの意味についてはちんぷんかんぷんでしたが、幸いにもクロッサム用の制御ソフト「AudioVisualManager」の作者である佐々木さんが、ご自身のページで赤外線信号の解析をされておられ、その情報と突き合わせることにより解析することができました。とても有益な情報を提供いただいた佐々木さんに感謝いたします。

ちなみにProntoのIRコードは、思い切りベタですので、コツさえわかってしまえば解析は楽です(笑)


コード例:パターン1

SONYテレビのチャンネル"2"の信号
0000 0067 0000 000d 0060 0018 0030 0018 0018 0018 0018 0018 0018 0018 0018 0018 0018 0018 0018 0018 0030 0018 0018 0018 0018 0018 0018 0018 0018 043f

先頭から2ワード目
(0067)
キャリア周波数と思われる。SONYのテレビの場合は40.3KHz であるが、(0067) というコードと40.3KHz のキャリア周波数との関係、および他のコードとキャリア周波数との関係との関係は不明。
先頭から4ワード目
(000d)
マーク(赤外線を出す部分)とスペース(赤外線を出さない部分)を1組としたコードの個数。(000d) = 13 であり、以下に13x2=26ワードのコードが続いている。
先頭から5ワード目以降
(0060〜)
マーク、スペースの順で、それぞれの長さが4ワード目で定義された個数分並んでいる。時間の単位は0.025msと推定される。最初の(0060) はリーダ部。以下長さ(0030) のマークを1、(0018) のマークを0とすると、この信号は100000010000 と表される。最後の(043f) のスペースは、SONYテレビの他の信号と比較したところ、信号全体で(0710) 前後の長さになるように調整するためのスペースと判明。


コード例:パターン2

三菱VTRの標準/3倍切換の信号
0000 007c 0007 0011 000b 0047 000b 0046 000b 0046 000b 0046 000b 001f 000b 001f 000b 02ea 000b 0047 000b 0046 000b 0046 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 0047 000b 0046 000b 0047 000b 0046 000b 0046 000b 001f 000b 001f 000b 02ea

赤外線信号が2グループ学習されています。

先頭
(0000)
パターン1と同様に、またも先頭は(0000) 。単にお約束なのか、それとも第1グループと第2グループでキャリア周波数が異なる時、ここに第1グループのキャリア周波数が入るとか…
先頭から2ワード目
(007c)
キャリア周波数。第1グループと第2グループで共通。
三菱のキャリア周波数が判明すれば、ここのコードとキャリア周波数の関係が判明するかもしれないが…
あ、簡単リモコン使えば、国産各社テレビ/ビデオなら何でもいいのか。
誰か教えてください。
先頭から3ワード目
(0007)
第1グループのコード個数。7マーク/スペース
先頭から4ワード目
(0011)
第2グループのコード個数。17マーク/スペース
先頭から5ワード目
〜18ワード目
(000b〜02ea)
第1グループのマーク、スペース長。三菱VTRではマークは全て(000b) で共通で、スペースの長さによってコードを作成しているものと思われる。長いスペースを1、短いスペースを0とすると、第1グループの信号は111100 と表される。
先頭から19ワード目以降
(000b〜02ea)
第2グループのマーク、スペース長。第1グループと同様に解読すると、第2グループの信号は1110101001111100 と表される。


察しのよい方はお気付きでしょうが、第1グループと第2グループの後半は、微妙な誤差はあるものの全く同じコードです。恐らくは学習時にミスったため、くり返しのパターンを外してしまい第1グループができてしまったのでしょう。また、送信時には第1グループは1回だけ送り、その後第2グループをくり返すのではないかと思います。

という訳で、この信号においては、第1グループは単なるゴミのようです。実際この部分を削除しても問題なく動きました。むしろProntoの効きを悪くしたり、マクロを組む時など邪魔になると思われますので、積極的に無駄な部分を削除するなり、再学習させるなりした方がよいでしょう。

ちなみに、この信号の学習は、ProntoEditから「右手でマウスクリック、即座に左手で信号送信」で行いました。これ以外にもProntoEditから学習したものに、ゴミコードの発生が顕著に見られました。どうもProntoが学習状態に入る前から信号を送信していてこうなったようです。ProntoEditから学習する時は、「学習状態にして、一呼吸置いてからボタンを押す」くらいでちょうどいいみたいです。

19990530追記:
キャリア周波数についてメールで教えていただきました(情報ありがとうございます)。三菱のそれは33.3kHzだそうで、これから2ワード目のパラメータとの関係を纏めると…

SONY40.3KHz103 (0067)
三菱33.3kHz124 (007c)

と、いうわけで、4.1MHz程度のベースクロック(恐らくはProntoの動作クロック)に対する分周比であると推定されます。


隠しリモコンコードを見つける

以上の情報でProntoEditにおけるリモコンのコードの読み方が理解できると思われます。それで学習させたコードを同様に01で変換し、元のリモコンに存在しないコードを自分で編集・作成し送ってみたりすると…

くり返しになりますが、このページの情報の利用は自己責任にて行ってください。

三菱ビデオのコード

三菱 HV-BS810で添付リモコンに存在しないが動作したコード。
ビット表示は実コードのみ。000b 001fをビットOFF、000b 0047をビットONと認識。
コード体系は、デバイス認識コードが8ビット (11101010) 続く7ビットが実コード。最後1ビットが0でVTR1、1でVTR2、0,1交互でVTR3。例示コードは全てVTR1のもの。

音声LR00000110000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 001f 000b 001f 000b 001f 000b 001f 000b 0047 000b 0047 000b 001f 000b 036b
音声L00001110000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 001f 000b 001f 000b 001f 000b 0047 000b 0047 000b 0047 000b 001f 000b 0343
音声R00010110000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 001f 000b 001f 000b 0047 000b 001f 000b 0047 000b 0047 000b 001f 000b 0343
音声モノ00011110000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 001f 000b 001f 000b 0047 000b 0047 000b 0047 000b 0047 000b 001f 000b 031b
電源オン01000010000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 0047 000b 001f 000b 001f 000b 001f 000b 001f 000b 0047 000b 001f 000b 036b
電源オフ01010010000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 0047 000b 001f 000b 0343
外部入力101000110000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 0047 000b 001f 000b 001f 000b 001f 000b 0047 000b 0047 000b 001f 000b 0343
外部入力201010110000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 0047 000b 001f 000b 031b
イジェクト01101100000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 001f 000b 0047 000b 0047 000b 001f 000b 0047 000b 0047 000b 001f 000b 001f 000b 031b
電源オン11111100000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 0047 000b 0047 000b 0047 000b 0047 000b 0047 000b 001f 000b 001f 000b 02c6
電源オフ11111000000 007b 0000 0011 000b 0047 000b 0047 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 001f 000b 0047 000b 0047 000b 0047 000b 0047 000b 0047 000b 001f 000b 001f 000b 001f 000b 02f3


SONYビデオのコード

SONY WV-ST1(Hi8/SVHSダブルビデオ)にて解析中。
コード体系は7ビット実コード+5ビットデバイス認識コード(7-5コード)と、7ビット実コード+8ビットデバイス認識コード(7-8コード)が混在。7-5コードが旧来のコードであるので、解析発掘はそちらを中心に行っている。

7-5コードの解析結果

ビット表示は実コードのみ。0018 0018をビットOFF、0030 0018をビットONと認識。
コード体系は、リーダ0060 0018のあと、実コード7ビット、デバイス認識コードが5ビット、VTR1の場合(01000)。VTR2の場合(11100)。VTR3の場合(11010)。例示コードは全てVTR3のもの。

電源オン01110100000 0067 0000 000d 0060 0018 0018 0018 0030 0018 0030 0018 0030 0018 0018 0018 0030 0018 0018 0018 0030 0018 0030 0018 0018 0018 0030 0018 0018 03c3
電源オフ11110100000 0067 0000 000d 0060 0018 0030 0018 0030 0018 0030 0018 0030 0018 0018 0018 0030 0018 0018 0018 0030 0018 0030 0018 0018 0018 0030 0018 0018 03aa




ご意見、ご要望はwatoc@terra.dti.ne.jp(吉田和徳)までお気軽にどうぞ。