雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
- FDCはステータスレジスタとデータレジスタがある
- ステータス。これは基本的にはリードオンリー。文字通り「今の状態を示す」ためのものね。
- データ。データとはいうが、「出入り口」と見るのがいいかな
- データは書き込むことも読み込むこともするし、できる所。
- 0x03f4がステータス。0x03f5がデータと。
- ちなみにこれらは全て、8bit(0x00〜0xFF)のみのアクセスとなるので、ステータスから0x123が来たりデータに0x789を書き込んだりとかはない。
- 念のため。0x03f5等はI/Oポートの番地ね。
ステータスレジスタ
現在、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??? これ、関係あるのか???
最終更新: 2024-01-06 (土) 22:39:09 (JST) (110d) by