diskがinsertされているか?
FDC driveが存在している場合の話。
「disk が insert されていないことをどう検知するか?」ですが、専用のコマンドでは存在しないようです。
調べた感じだと READIDコマンドやREADコマンドを発行してみて失敗すれば 「insert されていない」と判断しているようです。
ためしに実装してみたところ、うまくいっているので良しとしよう。
ちなみにresult エラーが返るか、割り込みがこないかは環境によって違うみたい。
オーバーロードにはまる
ひさびさにオーバーロードではまりました。
以下の2つの関数があるとして
read(byte track, byte head, byte sector) read(dword lba, void* buf, int size)
read(0, 0, 1) と呼び出すとどちらが呼ばれるでしょう。あー。badだな。