5: 2005-07-22 (金) 16:41:03 |
6: 2005-07-23 (土) 19:37:40 |
| | 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を書くらしい| |
| | | |
| -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」となります。 |
| | | |
| ;・・・あれぇ。引き算の場合、マイナスになるような場合って・・・ | | ;・・・あれぇ。引き算の場合、マイナスになるような場合って・・・ |
| + | |
| + | あかん・・・だめだ。ちょっと整理しよう。 |
| + | |
| + | -読み込みたいセクターの位置指定を求める計算式 |
| + | --ヘッド |
| + | +++読みたい論理セクターの値 ÷ (総セクター数÷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 |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| | | |
| | | |