2014年02月19日

Ready信号

PC-88シリーズで使用しているFDC、uPD765にはReadyという信号があります。
IBM PC(互換機)ではReadyではなくDiskChangeという信号が使用されてきました。
Ready信号は、ディスクが挿入され、ディスク回転が安定して
読み書き可能な状態になったときにアクティブになる信号のようです。
DiskChange信号は、ディスクが抜かれた時からディスクが挿入され、
ヘッドシークが行われるまでの間アクティブになる信号のようです。

当初、8801互換機rtlを書き始めた頃は単純にDiskChange信号を反転して
Readyに接続していました。通常はディスク交換の指示が出てから
ディスク交換後、大抵シーク動作が行われる為問題が無いようです。
ですが、ディスクのチェック(Disk AとDisk B等)をトラック0で行う
ソフトで誤ってDisk Aを入れるべきところでDisk Bを入れてしまうと
正しいDisk Aに戻しても、シークを行わずにチェックを行う為
DiskChangeがアクティブのままであり、Ready信号が非アクティブの
ままである為FDCがアクティブではないと返事をしてしまいます。
従い、現在は(リリースで13年11月頃かな?)DiskChangeの立上がり
(O.C.で負論理なので電圧では立下り)でReadyが消え、リードパルス
(又はDiskChangeの非アクティブ)でReadyが立つように変更しています。
他にもっといい方法があればいいのですが、FDD自体に手を加えたくない為
このような手法をとっています。

同じ話がMSX用のFDDでもあって、壊れたFDDの代わりにAT互換機用
3.5"FDDを使用するときに34番ピンを切断してメディア検出スイッチ
からの信号を繋げたり、間にインバータを入れて反転して繋げたり
して対応するのが通常の方法のようです(僕のMSXもそのようにして
使用しています)。

ただ、本来Ready信号はモータが安定して回転していないとアクティブにならないはずが
MSX流のやり方ではモータの回転に関わらずアクティブになってしまいますし、
PC-88RTLの方法ではまっさらのFD(今時アンフォーマットのFD自体が殆ど
入手できないのかもしれませんが)ではリードパルスが出ない可能性が
有りますので一度何らかのフォーマットをしたディスクしか使えないという
問題もあり、他に何か良い手段があるでしょうか。
posted by プー at 13:38| Comment(6) | FDC | 更新情報をチェックする

2013年12月10日

フロッピーの種類-2

前回FDのフォーマット種類と回転数をまとめてみましたが、
どうも間違いがあったようです。
AT互換機では5.25"はフォーマットを問わず360rpmで回転させるようです。
(つまり、2D/2DDフォーマットでは300bpsのビットレートを使用)
そうなると、手持ちのPC-98用ジャンクFDDが360rpmベースなので
5.25"フォーマットで使用できるはずです。
2番ピンの制御がどうなるのか分からなかったので、とりあえず
'H'(オープン)にすればドライブは360rpmで回ってくれるので
2番ピンをオープンにするアダプタを作ってテスト。
BIOS設定ではA: 5.25" 1.2Mを選択。

テストしたところ、DittではきちんとPC-88フォーマットの
ディスク書き出しが出来、1.2MBフォーマットの2HDフォーマットも
きちんと完了することが確認できました。
(高回転用フォーマットを低回転ドライブでフォーマット
することは出来てしまいますが、低回転用フォーマットは
高回転ドライブではセクタ数が不足してしまう為出来ないはずです。
FDDは360rpmで回転していることは間違いないので360rpm用
フォーマットしていることは間違い無さそう)
なので、このドライブを使えば日本formatの2HDもAT互換機でアクセス
出来るということになります。

これを読まれている皆さんは、どこかでジャンクのPC-98用(VFO無し?)
ドライブを探すか、3modeドライブの2番ピンをGNDに短絡させた状態で
(M/Bからの2番ピンは浮かせた方がいいのかな?)
5.25" 1.2Mを選択すれば同じことが出来ると思います。
(今一2番ピンの処理は良く分かりませんが、フォーマット中は
M/Bからは'H'を出力しているようでした。。。5"は磁性体材質が2DDと2HDで異なるので
励磁特性を変える必要があるはすですが。。。3.4"のように「穴」での検出は無いですよね?)
(当然、5.25"ドライブを用いても良いですが。但し、ヘッドロードは何も考えていないので
多少細工が要るかもしれません。)

ただ、色々調べると3mode 3.5"FDDには速度切替方法がいくつかあり、2番ピン以外を
用いる方法もあるようです。(2番ピンは本来FDD→M/B方向の信号の為、逆に
M/Bから'L'に落とす方法はチップセット毎に異なる為だとかなんだとか。。。)
僕の持っている(実家にある)トムキャットも2番ピンを用いない方法で切り替える
仕様らしいのでこの方法での使用は難しいようです。

ちなみに、先日新品の3.5" FDメディアを購入したのですが、ある店で中国ブランドの
メディアを購入し、その後隣の店を覗いたらその半額以下で日本ブランドのメディアが
先ほどの物の半額以下で販売されていた為、思わずそちらも買ってしまいました。
ですが、大失敗!
恐らく、今のご時勢、フロッピーがなかなか売れない為の在庫処分で相当古い
物だったのでしょう。倉庫の奥から眠っていた物を見つけて放出したのかもしれません。
ここが年中高湿な環境だからかもしれません。新品でカビが生えていました。。。
全くformatが出来ません。安物買いの銭失いでした。
日本メーカはかなり前にFDから撤退しています。中国では今でも生産が続けられています。
勿論、中国ブランドの物は特に問題ありませんでした。
posted by プー at 20:13| Comment(7) | FDC | 更新情報をチェックする

2013年12月04日

フロッピーの種類

現在X68000のFPGA版でどういう構成にするか(正確には何から手を付けたらいいか)を
考えているのですが(従ってディレクトリだけ作成してコードは1文字も無い。。。)
以前にもここに書きましたが、出来上がっても1.25MBフォーマットに対応した
FDDが無いのでどうやって出来上がったX68000でソフトを動かそうか考えています。

一般的なFDのフォーマットは
5.25":
・2D(320kB)…300rpm
・2DD(640kB)…300rpm
・2HD(1.25MB)…360rpm
3.5":
(・2D(320kB))…300rpm(本来3.5"フォーマットでは存在しない)
・2DD(640kB)…300rpm(250kbps)/360rpm(300kbps)
・2DD(720kB)…300rpm(250kbps)/360rpm(300kbps)
・2HD(1.25MB)…360rpm
・2HD(1.44MB)…300rpm
とこれだけあるのですが、FPGA版8801の方は(基本的に)全て300rpmのドライブで
2D/2DDの対応をしており、本来2HDは実機では360rpmで500kbpsで書き込むことで
1.25MBになるのですが、300rpmのみのドライブでも対応できるよう、約416.7kbpsでの
モードも用意しています。(動くかどうか確認していませんが。)
もっとも、8801の場合は2Dがメインなので300rpmのドライブだけあれば
5.25"でも3.5"でも動作は同じなので書き込み動作が出来ましたが
X68000の場合は基本的に1.25MBの2HDとなる為困ってしまいます。
X68000のFPGA側としては上記8801のときと同じようにビットレートを落として
416.7kbpsで使用すれば問題ないのですが、起動ディスクを作る方法が困ってしまいます。
今更5"ドライブは入手できませんしメディアですら探すのが大変です。

世の中には3.5" 2modeドライブという物が存在します。
大抵この手のドライブは2番ピンを'L'に落とすと360rpmに回転数が変わるようです。
(AT互換機用のドライブの場合。PC-98用の3modeは逆に300rpmに変わるみたいです。手持ちの
ジャンクFDDはそうでした。)
一方、5.25"はAT互換機でも2D/2DDは300rpmで2HDは360rpmですので回転数の変更が
必要なようです。色々調べると、この回転数の変更も2番ピンを使用するらしいです。
論理も2HD:Lらしいので合致しています。
ということは、AT用3mode FDDを接続し、BIOSの設定を5.25" 1.2MBに変更すると
1.25MBフォーマットディスクへのアクセスが出来るようになるのでしょうか。
正確には同じ1.25MBでも、日本仕様とAT用ではセクタサイズやトラック数が異なるようなので
DOSからファイルの中身が見られるかどうかは疑問ですが、ditt等で読み書き
出来るようになるのでしょうか。出来るような気がしてきました。
あとは3mode FDDですが。。。昔、買った記憶があります。。。
見た目は普通のFDDでした。。。さて、どのドライブが3modeだったでしょうか。。。
最近3modeで使うことも滅多に無くなったのでドライバすら入れていません。
PCの蓋を開けて確認すれば分かるのかもしれませんが。少なくとも物があるのは
実家です。実家に帰ったときに片っ端から蓋を開けて確認するか、
ヤフオク等で中古を漁るか。
実家に帰る機会も殆ど無いし、買ったほうが早いかな。。。
posted by プー at 19:56| Comment(3) | FDC | 更新情報をチェックする