雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
1: 2007-10-31 (水) 01:10:59 ソース バックアップ No.1 を復元して編集 現: 2024-01-06 (土) 22:39:09 ソース 編集
Line 1: Line 1:
-[[http://hrb.osask.jp/wiki/?advance%2FFDC:ここ]]や[[http://community.osdev.info/index.php?%28FDC%29765A:ここ]]でオベンキョしたことのノート取り。+[[ここ:http://hrb.osask.jp/wiki/?advance%2FFDC]]や[[ここ:http://community.osdev.info/index.php?%28FDC%29765A]]でオベンキョしたことのノート取り。 
 + 
 + 
 + 
 +-FDCはステータスレジスタとデータレジスタがある 
 +-ステータス。これは基本的にはリードオンリー。文字通り「今の状態を示す」ためのものね。 
 +-データ。データとはいうが、「出入り口」と見るのがいいかな 
 +-データは書き込むことも読み込むこともするし、できる所。 
 +-0x03f4がステータス。0x03f5がデータと。 
 +-ちなみにこれらは全て、8bit(0x00〜0xFF)のみのアクセスとなるので、ステータスから0x123が来たりデータに0x789を書き込んだりとかはない。 
 +-念のため。0x03f5等はI/Oポートの番地ね。 
 + 
 + 
 +***ステータスレジスタ [#j5b3e4b9] 
 +現在、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??? これ、関係あるのか???