GIMONS DEVELOPER WORKS/FDX68

エミュレーターモード使用例使用例(他のレトロPC編)

FM77AV40EXの例

接続方法

FM77AV40EXのケースを開けると前から見て少し右のマザーボード中央あたりに34ピンリボンケーブルコネクタが直ぐに見つかります。既存のケーブルを外して30cm程のコネクタを両端に圧着しただけのケーブルに差し替えます。背面に拡張FDDという小さなスロットがありますのでそこからコネクタを引き出します。

77EX_1

内蔵FDDの設定を変えてドライブ3,4(FDD信号としてはDS2,DS3)として使えるようにすることもできますが今回は止めました。参考までにドライブ上のDS信号設定の場所の写真です。

77EX_2

FDD I/FのピンアサインはFDX68と同様の一般的な設定になっているようです。

FDX68のジャンパ設定

DRV0,DRV1を使用します。

FDX01

FDDエミュレータの起動

FM77AVシリーズは初代AVを除いて2DDのドライブが装備されていますが流通した市販ソフトの殆どは2Dでした。今回はFM77AV以降用SILPHEEDをFDX形式にダンプしたイメージでテストしてみます。当然ながら2Dのイメージです。

さて一旦実機のステップ動作について解説しておきます。まず2DDドライブに2Dのディスクを挿入した時にヘッドがステップする幅は2Dの半分です。仮に10シリンダ分物理的にステップしても論理的には2Dの5シリンダ目になります。これだと2Dのディスクの正しいトラックにアクセスできないので何らかのステップ幅を調整する仕掛けが必要です。

2D/2HDの両方に対応したPC-8801MAのFDDはステップ幅を変更する機構がついていました(PIN4)。FM77AV40EXはドライブ側でなく本体側でダブルステップ方式(1回のステップパルスを強制的に2回のステップパルスにする)を採っているようです。

FDX68ではこのような状況に対応するために2Dのディスクイメージに対する特殊なオプションを持っています。fddemuに-sで指定するステップオプションです。このオプションに"half"を指定することで有効になります。物理的なシリンダ位置から論理的なシリンダ位置を算出する場合に半分とするという意味です。

先の例ではFM7740EXが10回のステップを行った結果、ハード的にダブルステップされて物理的に20シリンダ目にヘッドが移動。一方half指定によって論理的には10シリンダ目をアクセスするようになります。

ステップ動作に”half”を指定してfddemuを起動。

pi@raspberrypi:~/Develop/fdx68 $ sudo ./fddemu -0 FM77/SILPHEED_A.FDX -1 FM77/SILPHEED_B.FDX -s half
FDX68 version 1.00, Copyright (C) 2017-2018 GIMONS
Floppy disk drive emulation

----+----+----+-----------------------------------
 ID | WP | CL | DISK IMAGE
----+----+----+-----------------------------------
  0 | ON | 00 | FM77/SILPHEED_A.FDX
  1 | ON | 00 | FM77/SILPHEED_B.FDX
----+----+----------------------------------------

PC88版と比べると流石に綺麗なオープニングです。

77EX_4

PC-8801FHの例

接続方法

PC-8801FHは工夫しても4ドライブ構成にできないようなのでFDX68で置き換える方法です。

ケースを開けてフロッピーのケーブルを外すとMIL34ピンコネクタが二つあります。それぞれドライブ1,ドライブ2用です。この写真では下側がバックパネル側です。基板にドライブ1、2とカタカナでシルクがあるのが分かります。珍しいですよね・・・

88FH_1

このコネクタに出ている信号は少々風変わりな仕様です(独自調査)。MODE SELECT(PIN2)、TPI SELECT(PIN4)、HEAD LOAD(PIN12)は2HD機(に載っているFDD)に関係する信号なのでFHでは使用していません。

PIN SIGNAL NOTES DIR PIN SIGNAL NOTES DIR
1 GND 2 MODE SELECT NEGATE:360rpm ASSERT:300rpm IN
3 GND 4 TPI SELECT 0:96tpi 1:48tpi IN
5 GND 6 NC
7 GND 8 INDEX OUT
9 GND 10 DRIVE SELECT IN
11 GND 12 HEAD LOAD IN
13 GND 14 NC
15 GND 16 MOTOR ON IN
17 GND 18 DIRECTION IN
19 GND 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

これらを踏まえて専用ケーブルを作ります。フラットケーブルと34ピンのコネクタを三つ使用します。FDX68とドライブ1に接続するコネクタはそのまま圧着します。ドライブ1からドライブ2側へ伸びるフラットケーブルのPIN10~14をねじって圧着します。

88FH_2

用意したケーブルでFDX68を接続すると次のようになります。

88FH_3

これでドライブ1のPIN10(DRIVE SELECT)→FDX68のPIN10(DRIVE SELECT0)、ドライブ2のPIN10(DRIVE SELECT)→FDX68のPIN14(DRIVE SELECT2)。PIN12はHEAD LOADなのでスキップさせます。

FDX68のジャンパ設定

DRV0,DRV2を使用します。

88FH_4

FDDエミュレータの起動

SILPHEEDのマスターディスクからFDX形式にダンプしたイメージファイルがあるので起動してみます。基本的な使い方はX68000の場合と全く変わりません。

pi@raspberrypi:~/Develop/fdx68 $ sudo ./fddemu -0 PC88/SILPHEED_A.FDX -1 PC88/SILPHEED_B.FDX
FDX68 version 1.00, Copyright (C) 2017-2018 GIMONS
Floppy disk drive emulation

----+----+----+-----------------------------------
 ID | WP | CL | DISK IMAGE
----+----+----+-----------------------------------
  0 | ON | 00 | PC88/SILPHEED_A.FDX
  1 | ON | 00 | PC88/SILPHEED_B.FDX
----+----+----------------------------------------

開発中に幾度と無く見たSILPHEEDのザカリテさんです。

88FH_6

PC-8801MAの例

接続方法

PC-8801MAは工夫しても4ドライブ構成にできないようなのでFDX68で置き換える方法です。

ケースを開けるとFHと違ってMIL34ピンのコネクタは存在しません。フィルムケーブルに直付けされた34ピンカードエッジコネクタが直接FDDに接続されています。このタイプにFDX68を接続するのは少々厄介です。

88MA_1

私はカードエッジコネクタからリボンケーブルのコネクタに変換する基板を使用しています。これは知人から頂いたものですがヤフオクでも同様の基板を販売している方がいるようです(HxC等の接続用)。2ドライブ分の変換基板を組み込むとかなりギュウギュウになります。

88MA_2

FDD I/FのピンアサインはPC8801FHと同じようなのでFHの情報を参考にして下さい。ドライブ1、2それぞれのPIN10(DRIVE SELECT)をFDX68のDRIVE SELECT0と2に繋ぎます。

FDX68のジャンパ設定

DRV0,DRV2を使用します。

88FH_4

FDDエミュレータの起動

MAのシステムディスクからFDX形式にダンプしたイメージファイルがあるので起動してみます。基本的な使い方はX68000の場合と全く変わりません。

pi@raspberrypi:~/Develop/fdx68 $ sudo ./fddemu -0 PC88/MASYS.FDX
FDX68 version 1.00, Copyright (C) 2017-2018 GIMONS
Floppy disk drive emulation

----+----+----+-----------------------------------
 ID | WP | CL | DISK IMAGE
----+----+----+-----------------------------------
  0 | -- | 00 | PC88/MASYS.FDX
  1 | -- | 00 | EMPTY
----+----+----------------------------------------

微妙に味のあるデモです。

88MA_4


[EOF]