GIMONS DEVELOPER WORKS/FDX68

エミュレーターモード使用例使用例(PC98編)

PC98モードについて

FDX68のピンアサイン

PC98シリーズではDENSITY信号やMODE SELECT信号で本体側からフロッピーディスクドライブに対して倍密度、高密度の切り替え、RPMの変更を指示する仕様になっています。FDX68の基本コンセプトとして密度情報はイメージファイルの情報に従いますのでDENSITY信号は必要としません。同様にMODE SELECT信号も必要無い様に思えるのですが2HDの1.2Mと1.44Mのメディア種別を識別するためにFDX68で参照する必要がありました。そこで1番と3番ピンにそれぞれドライブ0、1用のMODE SELECT信号を入力することとしました。

PIN SIGNAL NOTES DIR PIN SIGNAL NOTES DIR
1 MODE SELECT0 IN 2 DENSITY UNUSE
3 MODE SELECT1 IN 4 NC UNUSE
5 NC UNUSE 6 NC UNUSE
7 NC UNUSE 8 INDEX OUT
9 NC UNUSE 10 DRIVE SELECT0 IN
11 NC UNUSE 12 DRIVE SELECT1 IN
13 NC UNUSE 14 NC UNUSE
15 NC UNUSE 16 MOTOR ON IN
17 NC UNUSE 18 DIRECTION IN
19 NC UNUSE 20 STEP IN
21 GND 22 WRITE DATA IN
23 GND 24 WRITE GATE IN
25 GND 26 TRACK 00 OUT
27 GND 28 WRITE PROTECT OUT
29 GND 30 READ DATA OUT
31 GND 32 SIDE SELECT IN
33 GND 34 READY OUT

FDDエミュレータの起動方法(PC98拡張モード)

エミュレータ(fddemu)にPC98拡張モードを新設しました。オプションの"-o q1"で有効になります。PC98拡張モードを使用する場合はX68000拡張モード(デフォルト)は自動的に無効になりますので"-o x0"を指定する必要はありません(指定しても問題ありません)。

pi@raspberrypi:~/Develop/fdx68 $ sudo ./fddemu -0 IMAGE98_0.FDX -1 IMAGE98_1.FDX -o q1
FDX68 version 1.26(Sep 21 2020, 11:04:13)
Powered by XM6 TypeG Technology / Copyright (C) 2017-2020 GIMONS
Floppy disk drive emulation(PC98 Option enabled)

----+----+----+-------------------------------------------------
 ID | WP | CL | DISK IMAGE
----+----+----+-------------------------------------------------
  0 | -- | 00 | IMAGE98_0.FDX
  1 | -- | 00 | IMAGE98_1.FDX
----+----+----+-------------------------------------------------

PC9821Ceの例

コネクタの解析

PC9821Ceのケースを開けると右の3.5インチフロッピーディスクドライブの後ろに30ピンコネクタがあります。この30ピンコネクタを26ピンコネクタ二つに分岐して接続されていました。

PC98_1 PC98_2

この30ピンコネクタのピンアサインは以下の通りです(種々のネット上の情報を参考にして実機調査しました)。1から3に電源用の5Vが出力されていますので変換ケーブルを作る時には注意が必要そうです。STEP0と1はそれぞれドライブ0、1用として分岐していますが内部で結線されて同じ信号でした。

PIN SIGNAL NOTES DIR PIN SIGNAL NOTES DIR
1 5V 2 INDEX IN
3 5V 4 DRIVE SELECT0 OUT
5 5V 6 DISK CHANGE OUT
7 DRIVE SELECT1 OUT 8 READY IN
9 HEAD LOAD OUT 10 MOTOR ON OUT
11 DENSITY OUT 12 DIRECTION OUT
13 MODE SELECT0 OUT 14 STEP0 OUT
15 NC UNUSE 16 NC UNUSE
17 MODE SELECT1 OUT 18 STEP1 OUT
19 GND 20 WRITE DATA OUT
21 GND 22 WRITE GATE OUT
23 GND 24 TRACK 00 IN
25 GND 26 WRITE PROTECT IN
27 GND 28 READ DATA IN
29 GND 30 SIDE SELECT OUT

コネクタ変換

PC9821Ceのコネクタのそれぞれの信号をFDX68のピンアサインに変更するケーブルを作成しなければなりません。このページの最初に提示したFDX68のピンアサインと同名の信号をそれぞれ結線することとなります。注意点は次の5点。①5Vはどこにも接続しない。②STEP0とSTEP1はどちらか一方だけSTEP接続する。③DENSITYは接続してもしなくてもよい。④該当する名前の無い信号は接続しない。⑤30ピン側のGND(19,21,23,25,27,29)はFDX68側のGND(21,23,25,27,29,31,33)に出来るだけ接続する。

私はProject M.P.SさんのPC-9800シリーズ用フロッピー信号相互変換実験キット(FB98-FCC)を使用しました。FDX68のピンアサインはこの変換基板の結線情報と同じになるように設計してあります。

PC98_3

FB98-FCCを使用してFDX68のシールドを繋げている様子(ケーブルが長すぎる気もしますがあくまで検証なので暫定です)。変換基板がそこそこ大きいので実用的には専用の変換ケーブルを作った方が良いでしょう。

PC98_3

FDX68のジャンパ設定

DRV0,DRV1を使用します。

FDX01

FDDエミュレータの使用

FDDエミュレータ(fddemu)の起動方法はこのページの最初に説明した通り"-o q1"を付けて起動するだけです。これで3モードドライブの2ドライブ構成として使用することが可能です。使用できるイメージは2DD,1.2M 2HD(アンフォーマット1.6M),1.44M(アンフォーマット2.0M)です。ブランクイメージの作成方法やD88,FDD,FDI,NFD等のイメージファイルからFDX形式に変換する方法が該当の説明を参照してください。

PC9821CeのDOSのフォーマットユーティリティで3モードとして自動判別して問題なく使用できることを確認しました。

PC98_4


[EOF]