GBAでゾイドを操れ!「GBA ZOIDS」

1980年代にトミーが販売していた「ゾイド」という、恐竜や昆虫をベースにメカニカルにデザインされたプラモデルが、最近またブームになってきたようです。この「ゾイド」に赤外線コントロール機能を搭載した「サイバードライブゾイド」が発売されるというのを知り、「赤外線コントロール」というキーワードだけで反応してしまいました。但し7/18に発売されたGBAソフト「機獣の戦士ヒュウ」については全く扱う予定はありません(笑)。ここではハードウェアであるディアブロタイガーだけを買ってコントロールソフトは自作して遊びます。付属の簡易コントローラでは操作できない機能があるとのことなので、まずは付属の簡易コントローラの赤外線信号を解析して、これをもとにコントロールできる全機能を調べました。

サイバードライブゾイド公式サイト:http://www.tomy.co.jp/gamesoft/cyberdrive_zoids/



赤外線信号

GBA赤外線リモコン信号解析ソフト「Ir Hack」を使って赤外線信号を解析しました。

●信号波形

サイバードライブゾイドの赤外線信号は、下図(a)に示すように37ms間隔及び110ms間隔で交互に送信されています。 赤外線信号の変調方式は、家電製品の赤外線リモコンと同じPPM方式です。 信号は、下図(b)に示すように、リーダ部、コード部、トレーラ部から構成されています。 コード部は11ビットで構成され、この部分にサイバードライブゾイドの制御コードが入っています。 リーダ部、コード部、トレーラ部の波形長さ(時間)を下図(c)に示します。波形長さの最小単位は正確に計測できていませんが、0.28msと思われます。 コード部は、無信号部の長さでデータ0とデータ1を表現しています。 パルス部は38kHzのキャリア周波数で変調されているようです。

●コード部データフォーマット

コード部の11ビットはサイバードライブゾイドをコントロールするための制御データで、その詳細は下図の通りです。
チェックサムは1ビット目から10ビット目までの10ビットのXORです。(bit11 = bit1 ^ bit2 ^ bit3 ^ .... ^ bit10)



付属の簡易コントローラの制御コードは以下の通りです。
 10進表記16進表記
前進11270
後進3220
弾発射707
腰振り運動202

制御コード

上記の解析結果をもとに、サイバードライブゾイドの全ての制御コードを送信できるソフトを作成しました。

[ダウンロード] zoids031108.zip(15KB)  プログラムソースzoids031108(source).zip(67KB)
これまでは自作の赤外線アダプタのみに対応していましたが、GBAソフト「機獣の戦士ヒュウ」同梱の赤外線通信アダプタにも対応しました。
GBAソフト「機獣の戦士ヒュウ」の出力を調査した結果、SC端子をLowにすることで赤外線通信アダプタが動作しました。(2003/11/08)


このソフトを使って制御コードを調査した結果は以下の通りです。尚、制御コードは16進表記です。
●基本コード
下位4ビットと上位4ビットを組み合わせることで「腰振り前進」や「弾発射後進」などができる。
−下位4ビット(? は任意の値)
・腰振り運動、弾発射のコードは各々4つあるが、動作は同じようだ。
制御コード動作
?1腰振り運動
?2腰振り運動
?3腰振り運動
?4腰振り運動
?5弾発射
?6弾発射
?7弾発射
?8弾発射
−上位4ビット(? は任意の値)
・1速〜4速を割り当ててみたが、速度にほとんど差がないように感じる。
制御コード動作
1?後進1速
2?後進2速
3?後進3速
4?後進4速
5?前進1速
6?前進2速
7?前進3速
8?前進4速
●特殊コード
・HP2に回復が2つあったり、腰振り運動や腰振り後進がここにもあるのはなぜ?。
制御コード動作
9AHP2に回復
9BHP2に回復
9CHP4に回復
9D腰振り運動
9EHP4に回復
9F腰振り後進
A9腰振り1回
AA腰振り4回


更新履歴

2003/07/27:ページの公開
2003/07/29:制御コードのLSBとMSBの順序を訂正
2003/07/30:全ての制御コードの調査結果を追加
2003/11/08:GBAソフト「機獣の戦士ヒュウ」同梱の赤外線通信アダプタに対応
INDEXに戻る

Copyright(C) 2003 Kiyoshi Izumi