■通信解析ツールを作る
ZauBASE で最も苦慮したのが、パソコンリンクプロトコルの解析です。
通信データは目に見えないため、プロフェッショナルレベルではラインモニタというハードウェアによる通信データ解析ツールを利用します。
私も、プログラマ時代はこのツールを主に通信が正常にできているかの確認のために利用していたのですが、ZauBASE 製作当時はこのようなツールが手元に無く、純粋なソフトウェアとして作成する必要に迫られました。
そこで製作したのが、プロトコルモニタで、通信経路にこのモニタを挟み込むと、パソコン−ザウルス間でやりとりされる情報の方向、内容、ASCII ダンプが得られるようになっています。
当初は、このソフトを1台のWindows 3.1 パソコン上で動作させていたため都合4回線分のシリアルポートを駆動する必要があり、非力なマシンではデータの取りこぼしが発生するなど若干の問題が生じましたが、Windows 95に移行してからはスムーズにデータ収集ができるようになり、パソコンリンクプロトコル解析が進みました。
■ザウルス・エミュレータを作る
プロトコルモニタを利用すると、通信データが目に見える形になり、パソコンリンクがどのような仕組みでデータ転送を行うのかが明らかになってきました。
しかし、得られない情報として転送タイミングやエラーが発生した場合のリトライ(再試行)というものがあります。
転送タイミングに関しては、通信プログラムに細工をすることでいくらでも調整できるのですが、リトライに関しては厳密に規定通りにしておかないと、通信不良の原因になります。
そこで、パソコン上にザウルス・エミュレータを構築し、このエミュレータとダウンローダ、ザウルスリンク、アドイン開発キットとの間で通信を行いながらイレギュラーな状態を作りだし、どのようにリトライや通信中断に至るのかを解析しています。
■画像解析ツールを作る
画像に関しては、アドイン開発時に開発キットで作成できる画像データを16進ダンプ(ファイル内のデータを16進数でテキスト表示するもの)を取りながら解析を進めましたが、それこそ1ドットづつサイズを変更しながら膨大なデータを収集し、規則性を見つけだすことに成功しています。
その結果を基に、汎用的な画像解析ツール(表示、画像生成)を作成しました。
後にこのツールはZauBASE のビットマップ->手書きメモ、手書きメモ->ビットマップ変換に活かされています。
■添付データ解析ツールを作る
画像解析が終わった時点で、ZauBASE の原型のようなものを作成したのですが、もう一点、どうしても搭載したかった機能に情報ステーションのデータをパソコンでダウンロードして利用(表示、ザウルスへ転送)するというものがありました。
このため、情報ステーションのデータを解析し始めましたが、ヒントとしてはインターネット等で流れていたバイナリデータの変換方法というものがありました。
一般にバイナリデータと言うのは通信に適さないデータ(通信制御のためのコントロールデータ)を含み、そのまま流してしまうと通信に重大な影響を与えるため、バイナリからテキストデータに変換して転送して送信し、受信した側は再度そのデータからバイナリデータを復元するという方法を取っています。
パソコン通信の初期にはISH という同様な変換方法が流行し、広く利用されていました。
この変換に関する文献をあたり、大まかにわかったのが変換後のデータは6または7ビットで表現可能な文字データになるということです。
これは、欧米での通信が7ビットを基本としており、8ビットを使えない(わない)という前提条件があるためでもあります。
> o1L6 01K0 3G3e w1VT 3b1a PIde RMMa 6A06 A1O5 OM0O (添付データの例)
添付データを見ると文字は7ビットで表せるものが利用されており、規則性を見ると、1列40文字になっています。
文献等で、得た知識では、8ビットのデータを2ビットづつに分解し、6ビット+2ビットにグループ分けする方法があります。
6ビットに分割したものをそれぞれ1文字とし、あまりの2ビットを3個足して新たな6ビットの文字が1個できます。
この方法を採ると3バイトのデータが4文字で表せることになります。
このような知識のもと、添付データを眺めてみると、4文字単位で区切ることができ、ある程度の変換パターンが見えてきます。
当初、手作業でビットパターン(0101 0010など)を書き出していたのですが、作業が面倒になり、解析用ツールを製作しています。
突破口としては、添付データを復元したものはザウルス内部データ形式と同じものになると気づいてからです。
この解析の場合も、レポートデータで1文字づつ内容を変更し、データが変わる点に着目し、その規則性を解析しています。
最終的に、変換パターンが解析でき、このツールはZauBASE の添付変換やNewsBASEのザウ新聞変換ツールに活かされています。
(このフォーマットに関する情報は「パソコンビューアデータフォーマット」資料が公開された事によりオフィシャルなものとして入手できるようになりました。3to4フォーマットです。)
■内部データ解析ツールを作る
添付データの解析をしながら漠然とわかってきたのが、ザウルスの内部データとの類似性です。
内部データの入手は、パソコンリンク解析によりザウルス内のデータをパソコンに転送できるようになっていたため簡単に行うことができました。
内部データの解析そのものは非常に簡単で、一般的なデータ・レコードの構造概念を当てはめればすぐに解析できました。
このとき、内部データ解析ツールを作成したのですが、こちらは、Super ZauTERMの受信メールデータ抜き出しのために利用しています。
また、ZauBASE DATA Editor が既に開発途中で、ZauBASE の要望に多い、データ編集のための基礎部分になっています。
■この他の支援ツール
ザウルスの新型が出たり、新しい機能が追加される度に情報収集を行っており、最近では、PI7000のダイレクトダウンロードアドインの構造解析、カラーザウルスの通信解析のためのツールを開発しています。