5〜8日目、終了。文字表示、GDT/IDTの初期化、キーボード入力とマウス入力。マウスを動かしてカーソルが動くまで。
キーボードとマウス入力のための PIC 初期化と割り込みハンドラがメイン。
8日目の最後に32ビットモードへの移行についての説明あり。ただし、x86 の仕様や一次資料が並記されていないのでわかりにくい。結局 x86 や PC互換機のちゃんとした資料を探してこないとだめだなぁ。
クロスコンパイラの関係でうまくいかず gcc の make で四苦八苦する(4日目の make 方法を修正)
今回必要になったツールはフォント作成(独自形式)のための makefont と bin2obj 。エンディアンの問題もなくそのままコンパイル可能。
NASK のソースを手書きで NASM に対応させるのに嫌気がさしたので、nask2nasm を ruby で作成。ジャンプ命令で NEAR を必要になる場合に対応できない以外はほぼ自動変換できてるかんじ。
Tags: OS自作入門