T.Shion’s diary

30日でできるOS自作入門についてがメインになると思いますが、それ以外でもプログラミングなどに関して書いていきます。

Windows7 64bit環境で作る自作OS 5日目

今日は5日目を読みました。

 

5日目は構造体がメインテーマにしているようです。

最終的には文字表示、マウス表示が出来るようになりましたが、IPLから持ってきたグラフィックなどの情報をとりまとめた構造体"binfo"を最後まで使いました。

f:id:sion0808:20151125232839j:plain

 

それから文字列を表示するということでイメージファイル内にはフォントファイル"hankaku.txt"も入るわけですが、そのファイルを入れるのに"Makefile"の中身も変わっているのでフロッピーディスクに書き込む場合は適宜対応してください。ツールのディレクトリ自体は変わっていないのでMakefile内の"make install"された時のコマンドに当たる部分を書き換えればいいだけです。

f:id:sion0808:20151125225237p:plain

Windows7 64bit環境で作る自作OS 3~4日目

今日は3日~4日まで読み進めました。

ここまでではC言語で実現できない命令をアセンブラの命令が入った関数でカバーするところまで進めていくようです。

3日目ではアセンブラで条件分岐が出来るようになったので、Windowsのファイル管理の構造をフロッピーディスクからディスクイメージを引き抜いてバイナリエディタで調べ、ブートセクタ以降のセクタもメモリに読み込めるようになりました。これによりC言語のソースもリンクできるようになりました。

4日目では最終的に画面表示を行い「OSらしい」画面を表示する所まで進んでいます。ここではポインタの概念も出てきましたが、それはすんなり理解できました。むしろPaletteの部分の理解についての方が時間がかかりました。

"set_palette"関数を見たらすぐに理解できたけど。

f:id:sion0808:20151124210934j:plain

f:id:sion0808:20151124212012j:plain

f:id:sion0808:20151124212018j:plain

 

 

 

Windows7 64bit環境で作る自作OS 1日目(後編)

アセンブラの編集にはEm editorを使用しました。

TeraPadでも良かったんですが好みの問題でこっちにしました。別にどんなテキストエディタでもいいと思いますが強調表示の設定を自分でいじれるもののほうがいいと思います。アセンブラのソースが見やすくなります。

f:id:sion0808:20151123185831p:plain

続きを読む

Windows7 64bit環境で作る自作OS 1日目(前編) installが起動しない問題

バイナリエディタ

この本で使用しているBZをそのまま使用させてもらうことにしました。

ちなみに僕はデータが空か分かりやすくする目的で文字コードシフトJISに変えて使っています。

まあバイナリエディタを使う機会はそれほどなかったはずですが・・・

 

さて、バイナリエディタでひたすら打っていきます。

f:id:sion0808:20151123015005p:plain

 

Installを改造

そしてbatファイル”!cons_nt.bat”からコンソールを立ち上げてinstall

f:id:sion0808:20151123015157p:plain

はい、エラーです。

続きを読む

「30日でできる!OS自作入門」を読んで64ビット環境でOSを作る!

きっかけ

実は2年ほど前に川合秀実 著「30日でできる!OS自作入門」を読んで5日もしないうちに挫折しました。ということで、それをきっかけにこのブログを書くことにしました。

実はこの本の付録としてCDに入っているアセンブラこと”NASK”は64ビット環境では動作しません。これではウインドウ表示どころかIPLすらまともに作れません。しかも僕の探した限りではNASKを64ビットで動作させる方法はどこにも見当たりませんでした。ということでこのブログではNASKの代用となるアセンブラを探して「30日で」OSを自作していこうと思います。

 

・・・・と最初に書こうと思ったのですが、実は間違いでした!

f:id:sion0808:20151121202145p:plain

NASKは64ビットのWindows環境でも動きます!!

これじゃ僕が64ビット環境で動かないなんて嘘を言い訳に諦めたみたいじゃないですかかだー・・・

 

ところが!!

f:id:sion0808:20151121202434p:plain

なんとアセンブルも出来てQEMUで動作確認も出来るのにInstall(フロッピーディスクへの書き込み)だけが出来ません。

完全に凡ミスです。何ていうか自分の名誉を取り戻せた気分(?)です。

 

というわけで、次回からは改めて64ビット環境でフロッピーディスクへの書き込みをする方法を考えつつOS自作を続けていこうと思います。

 

 

最初に間違ったことを書いたことに関してはこの場を借りて作者様にお詫び申し上げます(汗)

 

30日でできる! OS自作入門 30日でできる! OS自作入門