「30日でできる! OS自作入門」は Windows を使うことを前提に書かれている。当然のことながら添付 CD-ROM に入っているツール類は Mac(PPC) で動作しない。
ということで、Mac 用に変わりのツールを探してきたり自作したりすることにする。
– Virtual PC 6(qemu の代わり)
– NASM(NASK の代わり)
– イメージ作成Rubyスクリプト(自作、EDIMG の代わり)
Virtual PC は最新版ではないけど昔購入して全然使ってなかったので使ってあげようかなと。Mac OS X 用の qemu で Q というのがあるのでそれを使ってもいい。
NASM と NASK の差異は tools/nask に書いてあるのでそれをもとに自分でソースコードを書き換える。
– JMP entry ⇒ JMP SHORT entry
– RESB n ⇒ TIMES n DB 0
– RESB 0x7dfe-$ ⇒ TIMES 0x1fe-($-$$) DB 0
NASM はマクロが使えるのでマクロをうまく使ってやると少し見やすくなる。
⇒ Q [kju:]
⇒ NASM
⇒ tools/nask
その他、本の感想:初心者向け(?)ということなんだろうけど「OSを自作しよう」と思う人だったら当然知っていることやバイナリエディタやテキストエディタの紹介なんていうのはいらんだろう。そのかわりに FAT のもっと詳しい説明やアセンブラのリファレンスが欲しい。
最後に1日目、2日目の内容を書いておくと、FD のディスクイメージを作成(ベタ書き)して Hello World を表示するだけ。肝はブートのしくみとアセンブリ言語のさわり、アセンブラなど OS 作りに必要なツールの導入。
「FAT のくわしい説明が欲しい」というのはブートのしくみをちゃんと知るために必要だから。下記のサイトが少し参考になるか。
⇒ IPL(OS-Wiki)
⇒ FAT FS フォーマットの実装についての覚え書き
⇒ FAT ( File Allocation Table )(Gaku’s Space Wiki)
⇒ FAT File System(studio SweetCafe)
⇒ ディスクの論理構造(Ontrak)
Tags: OS自作入門