Windows7 64bit環境で作る自作OS 5日目
今日は5日目を読みました。
5日目は構造体がメインテーマにしているようです。
最終的には文字表示、マウス表示が出来るようになりましたが、IPLから持ってきたグラフィックなどの情報をとりまとめた構造体"binfo"を最後まで使いました。
それから文字列を表示するということでイメージファイル内にはフォントファイル"hankaku.txt"も入るわけですが、そのファイルを入れるのに"Makefile"の中身も変わっているのでフロッピーディスクに書き込む場合は適宜対応してください。ツールのディレクトリ自体は変わっていないのでMakefile内の"make install"された時のコマンドに当たる部分を書き換えればいいだけです。
Windows7 64bit環境で作る自作OS 3~4日目
今日は3日~4日まで読み進めました。
ここまでではC言語で実現できない命令をアセンブラの命令が入った関数でカバーするところまで進めていくようです。
3日目ではアセンブラで条件分岐が出来るようになったので、Windowsのファイル管理の構造をフロッピーディスクからディスクイメージを引き抜いてバイナリエディタで調べ、ブートセクタ以降のセクタもメモリに読み込めるようになりました。これによりC言語のソースもリンクできるようになりました。
4日目では最終的に画面表示を行い「OSらしい」画面を表示する所まで進んでいます。ここではポインタの概念も出てきましたが、それはすんなり理解できました。むしろPaletteの部分の理解についての方が時間がかかりました。
"set_palette"関数を見たらすぐに理解できたけど。
「30日でできる!OS自作入門」を読んで64ビット環境でOSを作る!
きっかけ
実は2年ほど前に川合秀実 著「30日でできる!OS自作入門」を読んで5日もしないうちに挫折しました。ということで、それをきっかけにこのブログを書くことにしました。
実はこの本の付録としてCDに入っているアセンブラこと”NASK”は64ビット環境では動作しません。これではウインドウ表示どころかIPLすらまともに作れません。しかも僕の探した限りではNASKを64ビットで動作させる方法はどこにも見当たりませんでした。ということでこのブログではNASKの代用となるアセンブラを探して「30日で」OSを自作していこうと思います。
・・・・と最初に書こうと思ったのですが、実は間違いでした!
NASKは64ビットのWindows環境でも動きます!!
これじゃ僕が64ビット環境で動かないなんて嘘を言い訳に諦めたみたいじゃないですかかだー・・・
ところが!!
なんとアセンブルも出来てQEMUで動作確認も出来るのにInstall(フロッピーディスクへの書き込み)だけが出来ません。
完全に凡ミスです。何ていうか自分の名誉を取り戻せた気分(?)です。
というわけで、次回からは改めて64ビット環境でフロッピーディスクへの書き込みをする方法を考えつつOS自作を続けていこうと思います。
最初に間違ったことを書いたことに関してはこの場を借りて作者様にお詫び申し上げます(汗)