雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
5: 2005-07-22 (金) 16:41:03 ソース バックアップ No.5 を復元して編集 6: 2005-07-23 (土) 19:37:40 ソース バックアップ No.6 を復元して編集
Line 67: Line 67:
| DW| 2| ;ヘッドの数はいくつか(一般に1440KB-FDの場合は2)| | DW| 2| ;ヘッドの数はいくつか(一般に1440KB-FDの場合は2)|
| DD| 0| ;このBPBセクタはデバイスの先頭から数えてどこにあるか(HDDのパーティション開始位置を表すために用いられる、セクタ単位、一般に1440KB-FDの場合は0)| | DD| 0| ;このBPBセクタはデバイスの先頭から数えてどこにあるか(HDDのパーティション開始位置を表すために用いられる、セクタ単位、一般に1440KB-FDの場合は0)|
-| DD| 2880| ;|+| DD| 2880| ;セクターが全部で何個あるか|
| DB| 0,0| ;よくわからないけどとりあえず0にしておくといいらしい| | DB| 0,0| ;よくわからないけどとりあえず0にしておくといいらしい|
| DB| 29H| ;よくわからないけどとりあえず0x29を書くらしい| | DB| 29H| ;よくわからないけどとりあえず0x29を書くらしい|
Line 131: Line 131:
-FAT領域 -FAT領域
---ファイルの情報(データではない)が格納されます。ここは、「FATの長さ(1つ分の長さをセクタ数で)」の値から解ります。9です。つまり、上記のスタート地点(セクター2)から9個分のセクターを使うということになります。なので、「セクター1〜セクター9」ということになります。+--ファイルの情報(データではない)が格納されます。ここは、「FATの長さ(1つ分の長さをセクタ数で)」の値から解ります。9です。つまり、上記のスタート地点(セクター1)から9個分のセクターを使うということになります。なので、「セクター1〜セクター9」ということになります。
--さらに、「FATがいくつあるか」という情報も参照します。2ですね。もう一個は予備用らしいですが、ちゃんと領域を喰います。二つ目の予備FATも同じく9個なので、「セクター10〜セクター18」となります。 --さらに、「FATがいくつあるか」という情報も参照します。2ですね。もう一個は予備用らしいですが、ちゃんと領域を喰います。二つ目の予備FATも同じく9個なので、「セクター10〜セクター18」となります。
--結果、FAT領域は、「セクター1〜セクター18」となります。 --結果、FAT領域は、「セクター1〜セクター18」となります。
Line 291: Line 291:
   ;・・・あれぇ。引き算の場合、マイナスになるような場合って・・・    ;・・・あれぇ。引き算の場合、マイナスになるような場合って・・・
 +
 +あかん・・・だめだ。ちょっと整理しよう。
 +
 +-読み込みたいセクターの位置指定を求める計算式
 +--ヘッド
 ++++読みたい論理セクターの値 ÷ (総セクター数÷2)
 +--シリンダ
 ++++読みたい論理セクター値 ÷ セクター数(18)
 +--セクター値
 ++++読みたい論理セクター値 mod セクター数(18)
 +
 +えーっと・・・これでいいかな? ちょっと検算中・・・
 +
 +あークソ!だめだ。ちょっと別に式を組み立てないとわからんわい!(あったまわる・・・)
 +
 +えーっと。逆に、論理セクタを計算する式を考えてみる。
 +
 +-論理セクタ : R
 +-シリンダ :c
 +-セクタ :s
 +-ヘッド :h
 +
 +だとすると・・・こうかな??
 +
 + R = c × 18 + s +(2880/2*h) -1
 +
 +おぉぉ! これでいいらしいぞ!!! (^^;)
 +
 +では、この式を展開して・・・・あ”だめだ。ちょっとこれじゃ解りにくいな。ちと変更する。
 +
 +
 +-論理セクタ : R
 +-シリンダ :c
 +-セクタ :s
 +-ヘッド :h
 +-シリンダ内のセクター数:A
 +-セクター総数:B
 +
 + R = cA + s +(B/2*h) -1
 +
 +こうだ。これを展開。(なつかすいなぁ。こんなの中学以来かも・・・(^^;))
 +
 +
 + h = (R-cA-s+1)÷B÷2
 + s = R-cA+1-(B÷2h)
 + c = (R-s-(B÷2h)+1)÷A
 +
 +よーし!これで求められるぞ! ばんざーい!ばんざーい!
 +
 +・・・・''ダメじゃん''・・・・ orz
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +