試運転の資料館 | |||||
玄関 | 総合案内 | 電算機部 | 営繕部 | 交通部 | 通信部 |
This web site is only compatible with Japanese text. IEEE1284 経由でバックアップ
はじめにある日、何気なくインターネット上を彷徨っていると素晴らしいプログラムを発見しました。それが今回紹介する「JJ1ODM 」様開発の DCPPRIP です。 DCPPRIP はドリームキャスト本体のシリアルポートと、PC/AT 互換機の IEEE1284 規格に準じたパラレルポートを接続して、GD-ROM のデータをバックアップ出来るというもので、おおよそ二時間半程度でバックアップが完了します。 今回は、DCPPRIP の基本的な使用方法を紹介します。 条件DCPPRIP を使用する場合、次に挙げる条件を満たす必要が有ります。
バックアップ手順GD-ROM のデータをバックアップする際の基本的な手順を次に示します。
ハードウェア製作上の要点DCPPRIP で少しでも安定した通信を行う為、ドリームキャスト本体と PC/AT 互換機を接続するケーブルは次に挙げる要点を抑えておくと良いでしょう。
コンセントプラグの接地側、非接地側の詳細については、「通信安定化の雑記と接地について」を参照して下さい。 回路上に抵抗が存在する理由JJ1ODM のチャオ様曰く、信号線へ直列に挿入されている 100ohm の抵抗はグランドバウンス対策、/Data Strobe ピン の 1.5Kohm はプルアップが目的との事です。 グランドバウンスとは、IC の出力などが変化した時にグラウンドの電位 ( 電気的な位置エネルギー ) が変動して機器が誤作動する現象の事です。 高速になるほど、また、突入電流が大きいほど、対策の必要性が大きくなります。標準では 100ohm となっていますが、通信が安定しない場合、50ohm から 200ohm の間で最適な値を試す必要が有ります。 プルアップとは信号線の基本的な電位を高い状態で維持しておく事で、 /Data Strobe ピンに接続するのが特に推奨されているのは、このピンの回路構成がオープンコレクタ ( 簡単に言えば、単なるスイッチ ) である事が理由です。 コマンド集次に、DCPPRIP 上で用いるコマンドを示します。各項目は、一行目がコマンド、二行目がコマンドの意味です。
OS の制限使用できるオペレーティングシステムに制限がある理由について、JJ1ODM のチャオ様へ直接お聞きしました。
Windows では通常、デバイスドライバを介してハードウェアを操作します。 デバイスドライバは時代により仕様が変化していて、Windows 9x 系では VxD、Windows 2000 や XP 等では WDM、Windows Vista 以降では WDF です。 DCPPRIP が開発された当時、デバイスドライバは VxD か WDM の何れかしか有りませんでしたが、WDM は様々な要因から制作が困難な上にコードがやたらと肥大化して、結果として遅くなりがち等と批判されていました。 その為、Windows 9x 系のみ対応する事を選択した様です。 I/O アドレスの制限不具合が起きた時、別のドライバを止めれば解決する時も有れば、どうにも対処不可能という時も有ります。詳しく調べてみると、不具合が起きた PC/AT 互換機では、次の範囲の I/O アドレスが両方とも抑えられる事が多い様です。
I/O アドレスの範囲が二つ表示される原因を調べてみると、一つにはパラレルポートの動作モードに関して不整合が起きている事が原因と思われます。 パラレルポートの規格である IEEE1284 は、昭和五十年代中頃 ( 1980 年頃 ) の前後に業界標準として普及していたセントロニクス仕様をベースとしつつ、規格策定時に存在したいくつかの拡張仕様も取り込まれる事で複数の動作モードを持っている事が分かります。 動作モードは五種類ほど規定されていて、セントロニクス仕様とほぼ同一の SPP ( または互換モード ) 、ニブルモード、バイトモード ( 俗に PS/2 モードとも ) 、EPP モード、ECP モードがあり、このうち EPP モード、ECP モードについては通信プロトコルについても定義されています。 さらに調べてみると、比較的新しい PC/AT 互換機では ECP モードを持ちながらも SPP モードやバイトモード、EPP モードをエミュレーションする機能を持っていて、これが「I/O の範囲」が二つ表示される原因のようです。 このような PC/AT 互換機では、必要に応じて各動作モードを 0x77a の上位 3 ビットを使って切替える必要があるのですが、何らかの理由で切替に失敗して不具合が起きるようです。 ( このような PC/AT 互換機でも、デフォルト設定の動作モードが DCPPRIP に適合していれば、動くかもしれません ) この問題が生じた時は、大人しく別の PC/AT 互換機へ交換した方が良いでしょう。 DCPPRIP が不安定な理由JJ1ODM のチャオ様によると、ドリームキャスト本体のシリアルポートは CPU として用いられている SH4 の SCI インターフェースと直接接続されている、と言います。 この SCI インターフェースへ入力する信号の波形は、それなりに綺麗な波形を要求されます。 それに対し、パラレルポートは精々低速なプリンターと接続する事を前提に回路が組まれています。間違っても SH4 のようなデリケートな物と繋ぐ事なんて考えていません。 この様な事情から通信時に問題が生じやすく、結果として GD-ROM を最後までバックアップ出来ずに失敗する事が少なくない様です。 この問題を根本的に解決しようとすると、CPLD を使って信号の波形を整形する回路を組まないとの事でした。 おわりにDCPPRIP が開発されたのは、平成十七年 ( 2005 年 ) の事でしたが、当時、まさか新しい吸出し法が開発されるとは、と驚きました。 あれから数年後、今度は SD カードを用いたバックアップ方法が開発されましたので今更 DCPPRIP を使おうという方はいらっしゃらないと思いますが、歴史的意義を考慮してここに残します。 参考文献 |
Copyright (C) 2016 "shiunten"