雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。

ここここでオベンキョしたことのノート取り。

  • FDCはステータスレジスタとデータレジスタがある
  • ステータス。これは基本的にはリードオンリー。文字通り「今の状態を示す」ためのものね。
  • データ。データとはいうが、「出入り口」と見るのがいいかな
  • データは書き込むことも読み込むこともするし、できる所。
  • 0x03f4がステータス。0x03f5がデータと。
  • ちなみにこれらは全て、8bit(0x00〜0xFF)のみのアクセスとなるので、ステータスから0x123が来たりデータに0x789を書き込んだりとかはない。
  • 念のため。0x03f5等はI/Oポートの番地ね。

ステータスレジスタ anchor.png

現在、FDD、FDCがどういう状態なのか?を示す。 各ビットに意味がある。

bit4が0ならIdle-Phase つまりこういう状態。

???0???

FDCに対してコマンドを発行したい場合、 io_in8(0x03f4) & 0x11 の値が0になるのを待ちます とある。これはどういうことなのかというと、bit3とbit7がとにかく0である必要があるということ。(他のビットはシカトということになる)

具体的には、

bit3 (FD3 Busy): 1のとき、ドライブ#3がSEEK系コマンドによるシーク動作を実行中であるか、もしくはシーク動作終了の割り込み要求を保留中。この時ドライブ#3に対するコマンドは当然受け付けられない。

bit7 (Request for Master):1のとき、FDCはCPUがデータレジスタにアクセスするのを待っている。データレジスタの準備ができているともいえる。

・・・あれえぇ? bit3??? これ、関係あるのか???


Last-modified: 2012-10-22 (Mon) 22:04:56 (GMT) (2812d) by