-<□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□>- PDってなに? PD-DRIVE DRIVER SUB PDDRVS.x ver 0.60 Copyright 1995-1997 TNB製作所 -<□■□ PD □■□>- 新コンセプトメディア PD! 一つのドライヴで、230MB MOの(容量的に)3 台分と、4倍速の CD-ROM の機能があります。PDメディアと CD-ROM メディアを 同時には使えないですが、スペース、値段、速度から見てもまあまあのものといえ ます。 が、これを X68 に繋ぐ場合少し問題があります。X68 以外は、この PD-DRIVE に専用ドライバーがついています( DOS/V 用 MAC 用などあり。ハードに差はない はず)。PD、つまりリムーバブルなメディア(一般に MO を指すようになってま すね)としてだけ使うなら問題なく X68 にもつながります。でも、CD-ROM として は使えません。 実は、PDは2つのモードを持っています。 一つは、入っているメディアによって機器のメディアが変わるモード、つまり上 記したモード、Oh!X や電脳倶楽部でレビューされているモードです。これではあ きらかに X68 起動時、MO あるいは CD-ROM 専用のどちらかのデバドラしか常駐出 来ません(デバドラはその SCSI-ID のメディアタイプを見ていますから)。一応 GORRY 氏作の SUSIE.x はメディア交換時にメディアチェックをしているため、PD、 CD-ROM と入れ換えても見事に読んでくれます。ということでこれでおっけーな気 もします・・・。もちろん、一つ(あるいは指定の数だけ)のドライブ(R:とか) をPD、CD-ROM 共用することになります。 もう一つのモードは、LUN によってメディアを決められるモードです(LUN に付 いては以下で)。LUN=0 では PD(つまりMO)、LUN=1 では CD-ROM としてだけア クセスされます。つまり、PDが入っている時は CD-ROM は未挿入。CD-ROM が入っ ている時は、PD未挿入となります。入り口は一つの2つの機器と言った感じです ね。 前者は MAC モードと書かれてます。後者は非MACモードといった感じでしょうか。 98、DOS/V ドライバはPDのドライブと CD-ROM のドライブがわかれています。 私もこっちの方が使い勝手がいいと思ったので、何とかならないかということでド ライバ、正確には「現行のドライバをPDに対応させるためのドライバ」を製作し ました。PDの扱える2つのメディア(MO/CD-ROM)は従来のドライバーで動くも のです。ですので、従来のデバイスドライバーをサポート(騙す)ことにしたので す。 ☆LUN: 0~7までの SCSI-ID の下に更に ID のようなものを付けること が可能なのです。ただしほとんどのハードは0に固定しており使 われていません。今、使うのは多連装の CD-ROM とPDぐらいか と。 -<□■□ これは □■□>- PDDRVS.x の原理は簡単で、SCSI コール(TRAP#15)が何処で使われたかによっ てなんのデバイスで使おうか見ているのです。で、CD-ROM 用だったら、LUN=1 に すり替えてコマンドを発行しています。 また、コマンドラインで実行する直接 SCSI-IOCS コールをするものでも、PD / CD-ROM が選べるようにもなっています([使用法2]参照)。 -<□■□ 実行 □■□>- [使用法1] PDDRVS.x [ID][*] ex 1) DEVICE = \SYS\SUSIE.X -ID6 @: @: 【MO DRIVER】 DEVICE = \SYS\PDDRVS.x 6 DEVICE = \SYS\CDDEV.SYS /ID6 /B8 【CD-ROM DRIVER】 DEVICE = \SYS\PDDRVS.x PDの ID に MO 用のドライバ、CD-ROM 用のドライバを常駐します。MO 用ドライバは必ず、PDDRVS.x より先、CD-ROM 用のドライバは必ず PDDRVS.x で挟む様にしてください。1つ目の PDDRVS.x の[ID]は省略出 来ません。 ex2) DEVICE = \SYS\SUSIE.X -ID6 @: @: 【MO DRIVER】 DEVICE = \SYS\SUSIE.X -ID6 -LUN1 @: @: 【CD-ROM DRIVER】 DEVICE = \SYS\PDDRVS.x 6* CD-ROM ドライバーでもある、GORRY 氏の SUSIE.X(v1.06a以降)で、 -LUN[n] スイッチを使用することで、PDDRVS.x 無しでもPDのアクセス は可能になっています。が、従来の CD-ROM 関係のソフトを動かすことが 出来ないため、PDDRVS.x を入れておくことを推奨します。その場合 ID の後ろに `*' を付けて下さい。これで PDDRVS.x は2つ登録する必要は ありません。 TEC: 一つ目の PDDRVS.x より前のものは LUN=0、PDDRVS.x に挟まれたものは LUN=1、それ以下はスイッチ([使用法2]参照)により選べるようになって ます。 ☆ CDDEV.SYSはver2.1で動作確認しています。 [使用法2] PDDRVS.x [switch] 無し ・・ 現在の状態を表示 PD ・・・・ SCSI-IOCS コールを PD 対象にします。 CD ・・・・ SCSI-IOCS コールを CD-ROM 対象にします。 PD の SCSI-ID に対して使用するツールが PD/CD-ROM どち らを対象にするかを指定します。デフォルトでは PD になって ます。DSKBENCH 等で INQUARY を見ればわかると思います。 例えば、CD-ROM 用のツール、CDROM.x や CD2PCMt.x を使う場合、 先に > PDDRVS.x CD としてください。逆に PD 用のツール、FORMAT.x 等がそれに 当たりますが、 > PDDRVS.x PD としないと、FORMAT.x が「CD-ROM機器」と見てしまいフォーマッ ト出来ません。ご注意! デバイスを通すもの(DIR,FILE 操作、CDDEV.SYS の AUDIO コマ ンドなど)は関係ありません。 -<□■□ 注意 □■□>- PDDRVS.x は TRAP #15 が何処で使われたかを見ています。そのため、TRAP#15 を使わず、SCSI-CALL を呼び出すものはうまく動作しない可能性があります。今の ところそのようなソフトは確認してませんが。 TNB製作所は PDDRVS.x の著作権を保持しますが、フリーウェアで転載は自由です。 ただし同梱ファイルの変更はしないで下さい。 TNB製作所は この PDDRVS.x によるトラブルは一切責任を負わないものとします。 個人の責任において使用して下さい。 バグ、トラブルの御報告はぜひお願いします。出来る限り対処、対応していきま す。 -<□■□ 使用,参考ツール □■□>- * SUPERED.X ver 1.18 T.Nishikawa氏作 * has.x ver 3.08 YuNK氏作 * hlk.x ver 3.01 SALT氏作 * MEMSCOPE.X ver 0.03 Tsune Art Studio/K.Tsuneyoshi(Tsune)氏作 * CDC.x ver 1.04P TNB製作所作 * SUSIE.x ver1.05a以降 GORRY氏作 * CDDEV.SYS ver2.1 計測技研 文責:田圃(TNB製作所) ============================================================================ '95 6/16(金):旅の帰り、半ば強引にPDを借りて猿(クンカクンカ)。早速繋ぐ。 モードが2つあることを確認。マニュアルにはMACモードとATモー ドとある。LUN無しモードとLUN有りモード。SUSIE.xでLUN無しモー ドはほぼそのまま使えた。が一つドライブ(q:)がMOになったりCD になったりはやだな。LUN有りでPDとCD-ROMのドライヴは別で持 ちたいな。 CDC.xはPD-DRIVE(LUN有MODE)に対応。 6/17(土):思いつきでこれを作る。TRAP#15が何処で使われたかによって デバイスないかどうかを見ているわけっす。 6/18(日):CD2PCMが動かない。ぬー、LUNすり替えにミスが有った。修正。 あれ、CD2PCMが途中でとまる。んー、エラーを省いてみよう。 動く。PDDRVS.xのせいじゃなかった。完成!! PDDRVS.x完成。 ver 0.00 結構な心臓部をこんな短期間でやっていいのだろうか。答え 良い。 6/19(月):コマンドの長さ分だけをコピー加工するようにした。今までは 128byte一定。メッセージ変更。 ver 0.01 6/20(火):問題がないようなので無駄(未使用)なワークを消してver0.50へ! SUSIE.xではうまくないが、それは別問題。 ver 0.50 6/21(水):SCSI $02のコールも一応考慮。メッセージのミスを修正。 ver 0.51 7/ 1(土):登録関係のメッセージの改善。 ver 0.52 7/ 9(日):jmp 0.lの書き替えをやめ。040T対策。 ver 0.53 '96 6/15(土):あ、d0の代入に moveq を使っていて d0.l がマイナスになっ ている・・・。特にエラー報告がないけど、一応修正。 ver 0.54 '97 2/12(水):ついに PD-DRIVE 、私物購入。SUSIE.x 用に `*' を追加。すっ きりした ^^; ver 0.60 ============================================================================