[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1796] from OSASK BOARD



このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい。


http://www.imasy.or.jp/~mone/osask/index.cgi?REFER=3b3b30d9_0115

From: 川合秀実
Message-ID: 3b3b30d9_0115
Date: 2001/06/28 22:27
Subject: Re:AT互換機とは?

> OSASK関係者じゃなくて恐縮なのですが、川合さんが
>>>どなたでもお返事を書くことができます
>とおっしゃられているので少し。

 ありがとうございます。助かります。

>>FDDにOSを書き込む為の書籍やURLを知りたいのですが。

 僕はDOSのディスクのフォーマットを理解するために、「MS-DOSエンサイクロ
ペディア vol.1」(アスキー出版局)は参考にしました。この本だけで必要な情報
は全て載っていますが、初心者がこれだけで作るのは大変だと思います。

  "boot sector"や"IPL(Initial Program Loader)"というキーワードで検索すれ
ば、有力な情報が出てくるかもしれません("boot loader"ともいうかな?)。

>簡単に言うと、最も最初のセクタ(ヘッド番号0、トラック番号0、セクタ番号1)
>に16ビットコードで書けばできます。
>互換機のローダはここしかロードしてくれないので、
>プログラムが512バイトを超える場合はその512バイト内に
>他のセクタをロードするプログラムを書かなければいけません。
>(gccあたりで簡単にできるような気もします。)

 そのとおりです。まあ、512バイトで済むOSは存在しませんから、そこには必
ずローダーを書くことになります。ちなみに、OSASKが使っているローダーはオ
リジナルのもので、ソースも既に公開してあります。"bs1_00"などです。

>ただし、この最初のセクタを全部コードとして使ってしまうとDOS(Windows)には
>フォーマットしていないとみなされます。

 そのとおりです。DOSとの互換性を維持するためには、最初の30バイトを規定
の値にしておかなければいけませんし、BIOSに「有効なローダー」であると認識
させるために、最後の2バイトも既定値にしなければなりません。詳しい事は、
"bs1_00"のソースを参考にしてください。

>#あ、OSASKがシリアルマウスを認識しない・・・・・

 すみません、まだサポートしていないんです・・・。申し訳ありませんが、PS
/2マウスでしばらくは辛抱してください。