misc. > アタリ仕様ジョイスティック研究 > コントローラ側の仕様 > FM TOWNSワイヤレスコマンダー

FM TOWNSワイヤレスコマンダー

概要

1995年春にFM TOWNS用として発売された赤外線通信ユニット。型番はFMT-RCT1。形状はピラミッド形状であり、上2/3が黒、下が白である。同時期に登場したTownsシステムソフトウェアV2.1L50及びPegasus[1] にてサポートされている。TOWNSではコントローラポート1(通常はTownsパッドを指す側)に接続した上で使用する。

用途としては、リモコン代わりに各種家電を操作したり(学習リモコンとして使用できる他、代表的なメーカーのリモコンデータがプリセットデータとしてROMに記憶されている)、電子手帳などと連携させることが可能である。

また、TOWNS版Linuxでもサポートされている。

仕様

以下の内容はTOWNS版Linuxのソースコードから類推したものである。私自身の不理解により間違っている可能性もあることを留意されたい。ピンアウトは以下の通りである。

pin#

Function

1

Status

2

Status

3

Status

4

Status

5

VCC

6

Strobe(OUT)

7

Data(IN/OUT)

8

Command Signal(OUT)

9

GND

制御方法

データの送受信はピン6〜8を使用し、8ビット単位で行う。送信の場合は以下の通りとなる。

  1. 送信する8ビットデータのパリティを計算する

  2. ピン6をH、ピン7、8をLにする

  3. ピン4がHになるまで待機

  4. ピン6、8にL、ピン7にデータ(H=1、L=0)を出力し、6マイクロ秒待機

  5. ↑からピン6をHに変えて出力し、6マイクロ秒待機

  6. 4.〜5.を7回繰り返し、計8ビットのデータを送信する(先に送信したビットが下位ビット)

  7. ピン6、7にH、ピン8にLを出力する。

  8. ピン2がHとなるまで待機

  9. ワイヤレスコマンダーが受信したデータのパリティ(H=1、L=0)がピン3から出力されるので、1.で計算したパリティと比較し、一致していれば送信OK

  10. ピン4がHとなっていることを確認

受信の場合は以下の通りである。

  1. ピン1がHとなるまで待機

  2. ピン6、8にL、ピン7にHを出力

  3. ピン7を読み出す(H=1、L=0)

  4. ピン6、7にH、ピン8にLを出力する

  5. 2.〜4.を7回繰り返し、計8ビットのデータを得る(先に受信したビットが下位ビット)

  6. ピン2がHとなるまで待機

  7. ワイヤレスコマンダーから送信したデータのパリティ(H=1、L=0)がピン3から出力されるので、5.で得たデータのパリティと比較し、一致していれば受信OK

  8. ピン6をH、ピン7、8をLにし、ピン2がLになるまで待機

  9. ピン6、7にH、ピン8にLを出力する

ワイヤレスコマンダーはインテリジェンスな装置であり、コマンド送信→必要な回数パラメータ送信またはデータ受信を行う→処理の終了をワイヤレスコマンダーに伝える、という手順を取る。

コマンド送信の手続は以下の通り。

  1. ピン6〜8をすべてHにし、50ミリ秒待機

  2. ピン6、7をH、ピン8をLにし、1ミリ秒待機

  3. ピン6〜8をすべてHにし、1ミリ秒待機

  4. ピン6、7をH、ピン8をLにし、300マイクロ秒待機

  5. ピン6〜8をすべてHにし、300マイクロ秒待機

  6. ピン6、7をH、ピン8をLにし、100マイクロ秒待機

  7. ピン1〜4がすべてLであることを確認する

  8. 300マイクロ秒待機

  9. ピン6〜8をすべてHにし、100マイクロ秒待機

  10. ピン1〜4がすべてHであることを確認する

  11. 300マイクロ秒待機

  12. ピン6、7をH、ピン8をLにし、100マイクロ秒待機

  13. ピン1〜4がすべてLであることを確認する

  14. 300マイクロ秒待機

  15. 上記の手順で8ビットのコマンドを送信する

パラメータの送信の手続は以下の通り。

  1. ピン1、2がL、ピン4、7がHとなるまで待機

  2. 上記の手順で8ビットのパラメータを送信する

処理の終了手続は以下の通り。

  1. ピン6〜8を全てHにする

  2. ピン3がLになるまで待機

主なコマンド

バッテリー状態とROMバージョンの取得

  1. コマンド0x33を送信

  2. データを1回(8ビット)受信

  3. 処理終了手続

得られたデータがバッテリー状態とROMバージョンを示す値となる(仕様不明)。

プリセットされた赤外線信号をワイヤレスコマンダーから出力させる

  1. コマンド0x62を送信

  2. パラメータ0x01を送信

  3. リモコンタイプパラメータを送信

  4. ボタンタイプパラメータを送信

  5. 処理終了手続

リモコンタイプパラメータは上位4ビットが会社コード、下位4ビットが機器コードである。会社コード及び機器コードを以下に示す。

会社

コード

ビクター

0x0

三洋電機

0x1

シャープ

0x2

富士通

0x3

ソニー

0x4

東芝

0x5

NEC

0x6

日立

0x7

松下

0x8

三菱電機

0x9

機器

コード

TV1

0x0

TV2

0x1

TV3

0x2

VTR1

0x8

VTR1

0x9

VTR2

0xA

VTR3

0xB

ボタンタイプパラメータは以下の通り。

ボタン

コード

TV電源

0x00

TVチャンネルUP

0x01

TVチャンネルDOWN

0x02

TV音量UP

0x03

TV音量DOWN

0x04

TVライン

0x05

VTR電源

0x10

VTR巻き戻し

0x11

VTR再生

0x12

VTR早送り

0x13

VTR録画

0x14

VTRストップ

0x15

VTRポーズ

0x16

VTRチャンネルUP

0x17

VTRチャンネルDOWN

0x18

VTRライン

0x19

学習リモコンデータの受信

  1. コマンド0x19を送信

  2. ピン1がLとなる状態が650ミリ秒続くまで(受信の1.)、データ受信を繰り返す

  3. 処理終了手続

学習リモコンデータの送信

  1. コマンド0x29を送信

  2. 必要な回数パラメータ(リモコンデータ)を送信する

  3. 処理終了手続


コメント(0)


Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。