2008 年 10 月 5 日

FDDのREADY回路の製作

Filed under: パソコン,日記 — わぴこ @ 2:43 AM

AT互換機のFDDをPC-98×1やPC-x86シリーズで使用する研究です。

実はFD-BIOSを乗っ取ってAT風にアクセスすれば楽なのですが・・・
ついでにDOSのドライバと窓のドライバも用意しないといけません。
この方法はアセンブラとかが出来ないとだめなので私には無理です。
どうしてもハードウェアから攻めるしかないのです_| ̄|○

AT互換機のFDDにはREADYを搭載していないものが多いのであるので
READYを用意してあげないといけません。

当初Diskchangeから作ることを考えましたが
どうにもうまくいかなかったのでFDDを改造するのを
前提にREADY生成回路を作ることにしました。

金曜日の夜から設計に6時間以上製作に3時間以上を費やす大作となりました。
今回はフリーソフトの回路シミュレーターを利用しました。
動作を調べたところREADYはDSとともにアクティブになりますが
メディア交換時にはREADYがDSに遅れてアクティブになります。
常に遅延させると「ディスクの準備ができていません」とDOSに怒られるので
メディア交換時だけ遅らせないといけません。
メディアを入っていない状態をラッチする方向で組みました。

それをふまえて組むわけですが何しろ回路は初心者、
うまくいくはずがありません。
perlで条件を書くのは楽ですが
if($SWF == 1 && $DS == 0){&delay;}
elsif ($SWF == 0 && $DS == 0){&ready;}
else {$busy;}
これをハードだけで組むのは至難の業です。

さらに大変なのは遅延回路です。一番時間がかかりました_| ̄|○
結局調べてもよく分からなかったのでネットの回路図を参考に適当に組みました。

基本部分をシミュレーターで何回もテストしてから組み立てに・・・
手探りなのでなかなかうまくいかずに結局完成したのが
22時過ぎでした。・゚・(ノД`)・゚・。 うえええん
テストに使用したD353M3がはんだ付けミスでお亡くなりになりました_| ̄|○
超器用なら復活できるかもしれませんが私には無理です。

写真です。デバッグ用にLEDが大量にほしいです。
(回路図は間違っていたので消しました。)
早速PALに書き込んで変換基板の回路図をつけて売りまくるとしましょう!!
これにてPC-98部品の転売屋脂肪!!

といっても書き込む機械も何も持ってないので無理ですが(笑

次は2DDの読み書きに挑戦ですがたぶんだめだと思います。
これだけはどうにもならないかも・・・
情報集めないとなあ。

3 Comments »

  1. お久しぶりです。
    またいろいろ読んだり試作研究してみました。

    > メディアを入っていない状態をラッチする方向で組みました。

    これこそがDiskChangeだと思いますが…?

    で、DiskChangeアサートは単純にディスクを抜いたときですが、ネゲートの条件は
    ・ディスクが入って回転している
    ・FDDが選択されている
    ・Stepがあった(シークした)
    となっているため、ディスクがいくら回っていてもシークしない限りネゲートしない
    (だからAT互換機はディスクを抜いてからアクセスするとシークするワケです)ので
    単体では使いにくいと思います。
    Indexはディスクがない限り変化しませんが、ディスクがあってMOTOR ONなら変化しますし、
    2パルス検知すれば必ず遅れた信号になりますからCRの時定数より確実と思います。

    DiskChangeアサート(立ち下がり)でFF(7474 2段)をリセットし、Indexを2パルスでセット
    するといった感じです。DiskChangeのネゲートを検知しないようにワンショットを入れます。
    きちんとしたワンショット(555や74121)のがいいかも知れませんが、7474をトリガできれば
    いいのでCRでもいいでしょう。

    コレを踏まえて作ってみました。
    https://box.yahoo.co.jp/guest/viewer?sid=box-l-oyhmswl4umt5bh7j6jsjlioiky-1001&uniqid=fc334be1-fc19-4b8b-a1ae-a26a44f218ca&viewtype=detail

    Ready出力段が一般ゲートになっているので、NOR(7402)の13番ピンとRDY出力間に
    13|<RDYの向きにSBDを入れて下さい。

    コメント by かかっくん — 2014 年 2 月 22 日 @ 6:03 AM

  2. こんにちは、当時のことはもう覚えていないのですが
    ひたすらテスターを頼りにいろいろやってた記憶があります。
    だからこうやって読んでいるとなるほどというしかないですね。
    残念ながらテスト用のPC-486などは今は床下にしまってあるのでテストはできないですが・・・

    ちなみに
    http://ematei.web11.jp/cgi-bin/risaikuru2/gwbbs.cgi
    ここにはまだ現役で研究してる?方々がいるようです。

    コメント by わぴこ — 2014 年 2 月 23 日 @ 5:02 PM

  3. SBDを入れました
    https://box.yahoo.co.jp/guest/viewer?sid=box-l-oyhmswl4umt5bh7j6jsjlioiky-1001&uniqid=a21bf263-9d93-4c5d-ade5-31c954e5f5ce&viewtype=detail

    ↑に行ってみました。思った通りFDDを改造していました。
    今後を考えるとPCパーツのFDDのがディスコンとはいえ状態の良いものが入手
    できそうですから、FDD毎に対処するより良さそうな気がしますねぇ…

    コメント by かかっくん — 2014 年 3 月 9 日 @ 7:18 AM

RSS feed for comments on this post. TrackBack URI

Leave a comment

HTML convert time: 0.684 sec. Powered by WordPress ME