マウスが動きそうで動かないので、8日目まで行ってしまった(笑)
キーボードからキーコードが取れて、マウスカーソルが動くところまで行った!
ざっと説明は読んだんだけど、キーコードとマウスの移動解析の部分をほぼ完全に読み飛ばした(笑)ので、明日よく読みなおさないと^^;
なんだか楽しくなってきた:)
2008/01/24
OS自作入門・6~8日目
2008/01/23
OS自作入門・5日目
今日の分もほとんどC言語だったので特に問題はなし。
セグメントと割り込みが出てきたので明日また見直さないと。
4日目から一応UIっぽいのができたけど、やってることはいつもの組み込みとほとんど変わらないね(笑)
でもx86系のCPUをイジることもないのでちょうどいいかな^^;
毎度毎度サンプルプログラムを動かしてるだけだけど、一通り読み終わったら自分で一から作ってみないとね。
2008/01/21
OS自作入門・4日目
とりあえず3日目の復習から。
なんだか急にソースが増えたのでもう一度読み直してみたら、ほとんど後で解説になっていた。
じゃ飛ばそっと。
で、4日目。
C言語でVRAMに直接お絵かき。
ここいら辺は全然問題なく理解できた^^;
さすがにCの言語に関する説明が多かったしね。
Cから呼び出すアセンブラの関数もいくつか追加されてたし面白くなってきた!
4日目にして(見た目だけ)OSちっくになってきたね。
ってもほとんどサンプルを動かしてただけなのでコードは書いてない。。。
エディタ使うときはコードの確認とcopy対策のためにMakefileの書き換え(笑)
そうそう、一箇所copyがMakefileに直接埋まってるのでエラーが出てしまう。
harib01hで言えば49行目になるのかな?
ここだけcopyを$(COPY)に変えてあげる必要があった。
変更前:
haribote.sys : asmhead.bin bootpack.hrb Makefile
copy /B asmhead.bin+bootpack.hrb haribote.sys
変更後:
haribote.sys : asmhead.bin bootpack.hrb Makefile
$(COPY) /B asmhead.bin+bootpack.hrb haribote.sys
この下のharibote.img部分にもcopyがあるけど、こっちはcopy.exeの呼び出しではなくてスクリプトのcopyらしいので、変更しなくてOK。
2008/01/20
OS自作入門・3日目
眠い目をこすりつつざっと流し読み。
帰ってからもう一度眺めてみよう。
というか最初から読み直して理解度を深めておきたいなぁ。
3日目にしてもうC言語でのプログラム開発になっている。
アセンブラで関数の作り方ものってるので楽しそう。
やっぱり自分はアプリケーションよりもコンポーネントを作るほうに楽しさを感じるのだと改めて実感した(笑)
OS自作入門・2日目 その2
朝の問題。
"helloos5の"make run"でエラーが出てしまう"問題。
copy helloos.img ..\z_tools\qemu\fdimage0.bin
の行で、エラーメッセージ
process_begin: CreateProcess((null), copy helloos.img ..\z_tools\qemu\fdimage0.bin, ...) failed.
make (e=2): 指定されたファイルが見つかりません。
が出力される。
結局自力で解決できなかったのでGoogle先生に頼む^^;
同じ様にハマってる人がいたのでお知恵を拝借。。。
ちょっと分からなかったので、困ったときのサポートページ(らしい)で探してみる。
どうもMakefileを書き換える必要があるみたいでコレを見て↑の意味が分かった^^;
#読解力不足。。。
helloos5のMakefileの26行目を
前:copy helloos.img ..\z_tools\qemu\fdimage0.bin
後:cmd.exe /C copy helloos.img ..\z_tools\qemu\fdimage0.bin
にしてあげればいいらしい。
FAQによるとCygwinを入れてるとこの現象が起こるらしい。。。
入れてますよCygwin(笑)
これじゃ分からん訳だ^^;
ま、これで2日目も無事に終わったので良しとしよう!
2008/01/19
OS自作入門・2日目
この仕事始めて6年目にして、makefileの書き方が分かってきた^^;
やっぱり実際にやってみるのが一番覚えやすいや。。。
ついでにアセンブラも少々覚えてきた。
こりゃホントにタメになる本だわサ(笑)
ただ、helloos5の"make run"でエラーが出てしまう。
今日はこれから外出なので帰ったら見てみないと^^;