CROSSAM2 on Mac OS X

なぜいまさら

10年くらい前に買って5年くらい前に壊れて放置していたのですが、分解して掃除した ところなんとなく直ったようなので、ubsa-osxをつかって簡単なプログラムを作って みたいと思っています。5年の間にいくつかリモコンを使う機器も増えましたし、 修理不可能になる前に PT-D4W のパターンを解析しておきたいという理由もあります。 HALの製品にはちょっと思い入れがあって、30年ほど前PC-8001 を使っていた頃、PCGというHAL製のキャラクタをプログラムできる機器の回路図を オープンにしたのでクローンを作りちゃんと動いたのに感動した記憶があります。 今でもその基板を持っていますが、よく中学生が作れたもんだと自分でも感心します。

資料

HALのコマンド(圧縮ファイルの中に簡単な説明あり)
HALのページのコピー
波形データの資料
コマンドなどの詳細な資料
分解方法などや波形データの分析などあります
コマンド処理などが書いてあります
昔調べたPioneer BA-V520のパターン

開発方針

必須機能 あると良い機能 開発環境 プログラムの構成 リモートコントロール機能 森の仲間たちキャラクタ
とりあえずコマンド操作が一通り出来るようになったがコマンドの送信は10秒の インターバルを入れないと動かない。。。oz_

HACK.EXEで初期化したところ、コマンドのレスポンスはインターバルを入れなくても 動作するようになった。ただレスポンスのタイミングが変わってしまった。。。

コマンドでオフにしたメモリプロテクトは、電池を抜くとオンになるようだ。

データ解析

ソニーのTVの電源のプリセットデータ
00 c0 11

ソニーのLDの電源のプリセットデータ
00 c8 16

パイオニアのCATVの電源の疑似学習データ(0x35CA38C7:32ビット)
15 00 00 86 30 01 10 10 11 10 01 01 00 01 11 00 01 10 00 11 12 fe 22
このデータはHALが提供していた、hack.extで解析して手動で調整して作った パターンだと思う。10年近く前の事なので詳細は思い出せません。 データは以下のようなビットの並びです。
00110101 11001010 00111000 11000111 Power
睨めっこしてパターンが見えたのだが、このような疑似学習パターンは データの4ビットがリモコンから送信される1ビットとなっていて、5バイ ト目の下位4ビットからデータが始まっている。21バイト目の下位4ビット の2はパディングの空データで、最後に付いているfe 22は終端データと思われる。

ソニーのTVの電源の学習データ(0xA900:12ビット)
33 00 00 05 20 98 16 00 03 06 00 56 0b 00 03 06
00 1e 05 00 04 06 00 d3 04 00 67 fb 00 80 04 00
ba fb 3e fd 07 01 21 21 22 12 22 3f c0 d0 12 12
12 21 22 24 ff
このページ を参考にして解析してみると以下のような構成になる。同じデータのはずですが 微妙に違っています。おそらくクロッサムの解析のロジックに揺れがあるように 思われます。
33 00 00 05 20
-
98 16 00 03 06 00 (マーク&スペース:リーダー)
56 0b 00 03 06 00 (マーク&スペース:1)
1e 05 00 04 06 00 (マーク&スペース:0)
d3 04 00 67 fb 00 (マーク&スペース:最初の終端)
80 04 00 ba fb 3e (マーク&スペース:最後の終端)
-
fd 07 01 21 21 22 12 22 3f (パターン)
c0 d0 12 12 12 21 22 24 ff
このデータは、12ビットのデータ(101010010000)を二回送っていているようです。

同じコマンドをPC-OP-RS1で受信したデータ
ff ff ff 81 ff 07 7f f0 ff c1 1f fc 3f f0 03 3f 
f0 ff c0 0f fc c0 0f fc 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 fe ff ff c1 ff 07 7f f0 
ff c1 0f fc 3f f0 03 3f f0 ff c0 0f fc c0 0f fc 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
fe ff ff c1 ff 07 7f f0 ff c0 0f fc 3f f0 03 3f 
f0 ff c0 0f fc c0 0f fc 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 ff ff ff c1 ff 07 3f f0 
ff c0 0f fc 3f f0 03 3f f0 ff c0 0f fc c0 0f fc 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
ff ff ff c1 ff 03 3f f0 ff c0 0f fc 3f f0 03 3f 
最初のブロックを下位ビットから2進数で表すと以下のような感じ。
11111111 11111111 11111111 10000001 11111111 11100000 11111110
00001111 11111111 10000011 11111000 00111111 11111100 00001111
11000000 11111100 00001111 11111111 00000011 11110000 00111111
00000011 11110000 00111111 00000000
おおよそ12ビットの1と6ビットの0で1を表して、6ビットの1と6ビットの0 で0を表しているように見える。最初にバイトのビットを逆から見て全く パターンが見えなかった。

ソニーのTVの電源を作った例
24 00 00 04 20 72 06 00 46 05 00 28 0c 00 46 05 
00 00 00 00 1e f5 00 06 18 00 20 05 00 31 01 01 
00 10 00 02 fe 0e 
HACK.EXEで基本波形のSONY-TV-Powerを書き込んで読み出したデータ
0b 00 00 80 41 01 01 00 10 00 2f e0 de

PT-D4WのAのONのコマンド
70 00 00 0b 20 00 00 00 42 01 00 00 00 00 5e 1a 
00 4e 00 00 6a 09 00 df 00 00 df 0e 00 fd 00 00 
bf 0f 01 95 15 00 e2 05 00 fc 04 00 d6 05 00 d2 
0a 00 e1 05 00 b6 0a 00 d0 03 01 72 0a 00 f3 26 
08 a2 0a 00 d8 f5 3e 01 fd 06 02 fc 02 03 02 02 
02 03 04 56 66 66 67 66 67 85 66 66 66 76 66 79 
fd 02 56 66 66 67 66 67 8f c0 d5 66 66 66 76 66 
7a ff 
PT-D4WのAのOFFのコマンド
64 00 00 0a 20 00 00 00 26 01 00 d1 00 00 75 09 
00 3a 01 00 01 0f 00 99 01 00 cf 0c 01 ad 15 00 
d2 05 00 0c 0b 00 d4 05 00 e5 04 00 d7 05 00 9c 
0a 00 cd ff 00 e1 0a 00 84 1b 08 b8 0a 00 ad f5 
3e 01 01 02 11 12 34 56 66 66 56 66 57 45 66 66 
65 66 65 8f d0 24 56 66 66 56 66 57 fc 0d 45 66 
66 65 66 65 9f f0 
PT-D4WのBのONのコマンド
66 00 00 0a 20 3d 00 00 11 0a 00 13 00 00 85 01 
00 00 00 00 1d 0f 00 00 00 00 d3 0b 01 97 15 00 
d9 05 00 e7 04 00 d7 05 00 00 0b 00 d4 05 00 ec 
0a 00 9f 01 01 73 0a 00 07 2d 08 f4 0a 00 9b f5 
3e 00 10 12 10 10 10 12 13 45 65 55 56 55 56 74 
56 55 55 65 55 68 fd 02 45 65 55 56 55 56 7f c0 
d4 56 55 55 65 55 69 ff 
PT-D4WのBのOFFのコマンド
71 00 00 0b 20 00 00 00 7c 01 00 00 00 00 63 1a 
00 05 00 00 16 0f 00 7c 00 00 77 09 00 ec 01 00 
08 04 01 c3 15 00 d5 05 00 e5 0a 00 d6 05 00 e7 
04 00 d5 05 00 82 0a 00 10 fc 00 e0 0a 00 93 eb 
07 b9 0a 00 ac f5 3e 01 02 02 03 03 03 03 02 03 
03 03 02 45 66 77 77 67 77 68 56 67 77 76 77 76 
9f d0 25 66 77 77 67 77 68 fc 0d 56 67 77 76 77 
76 af f0 
素のデータは以上になるが、どうもPT-D4Wは7つも赤外線ダイオード付いていて パワーが強いためかノイズでデータが多くなっているように思われます。 元のデータは以下のようです。

A ON00 00 00 10 00 110x02 0x30
A OFF10 00 00 10 00 110x82 0x30
B ON01 00 00 10 00 110x42 0x30
B OFF11 00 00 10 00 110xc2 0x30

オンキョウのCDプレーヤのイジェクト
41 00 00 07 21

f0 56 00 3d 2c 00
a5 04 00 c3 05 00
bf 04 00 b0 10 00
34 04 00 32 93 01
76 57 00 3b 16 00
7a 04 00 c7 aa 03
96 04 00 b2 fb 3e

01 21 12 12 21 12 21 21 12 21 21 11 11 12 12 22 23 45 46 ff 
このデータはスタート,32ビットのデータ(0x4b,0x34,0xd0h,0x2f),ストップのビット 列と、最後にマーカーかが二つ付いている、genir.cのジェネレートコードでは 最後のマーカーをスタートとストップのみのデータとして処理できる。

三菱の液晶ディスプレーの電源
3f 00 00 06 1f

d4 4c 00 d6 26 00
3e 04 00 43 05 00
1d 04 00 8b 0e 00
d0 03 00 ce 26 00
de 03 00 7a c7 00
b0 03 00 ae fc 3e

fd 05 01 12 11 22 23 22 11 11 11 4f
c1 30 11 21 12 22 32 21 11 11 15 ff
このデータはスタート,8ビットデータ(0x27),マーカ,8ビットデータ(0xc0),ストップ のビット列になっている。genir.cのコードで処理する場合は半分に分けてマーカー を前半のストップとして、後半のデータのスタートを空にしている。

HUMAXのデジタルCATVチューナーの電源
4e 00 00 05 22

af 03 00 31 04 00
02 04 00 e1 0c 00
38 04 00 c1 d7 02
74 21 00 17 11 00
b1 04 00 48 fc 3e

00 00 00 01 01 01 01 10 00 01 01 01 00 1f d0 e0
fc 01 11 00 02 31 00 00 00 00 10 10 10 11 00 00 10 10 10 01
fd 0e 0f c0 11 10 00 4f f0 
シャープのビデオの電源
57 00 00 05 22
90 03 00 50 04 00
ae 03 00 5c 0c 00
d9 02 00 b7 c1 00
34 20 00 7c 10 00
24 03 00 f4 fc 3e
fd 02 01 01 01 01 01 10 10 11 11 00 01 00 00 11 00 10 00 00 10 10 00 11 11 23
01 fc 32 01 01 01 01 01 10 10 11 11 00 01 00 00 11 00 10 00 00 10 10 00 11 11
4f f0
いろいろ試してみたのだが、パターンを見つける事ができなく、同じパターンが 作れない。。。他のサイトを見るとシャープのリモコンは15ビット+15ビットの 構成とあるが、まったく見えてこない。。。

すべては確認していないが機種とプリセットコードの対応は以下のように なっていると思われる。

ソニーテレビ1-10xc0 松下テレビ2-10xcc 東芝テレビ3-10xd0
アンプ1-20xc1 CD2-40xcd BS3-30xd1
衛星放送1-30xc2 LD2-90xce ビデオ13-100xd2
CD1-40xc3 ビデオ12-100xcf
テープA1-50xc4
テープB1-60xc5
DAT1-70xc6
チューナー1-80xc7
LD1-90xc8
ビデオ11-100xc9
ビデオ21-110xca
ビデオ31-120xcb


波形呼出タイプ

ソニー0x80
松下0x81
東芝,日立,三洋,日本電気,ヤマハ0x82
三菱0x83
ビクター0x84
シャープ0x85
パイオニア0x86
HAL0x87



Copyright (C) 2010 Hiroki Mori All Rights Reserved.