7日目「マウスとキーボードの割り込みができたぞ〜」

 今日はそんなに難しくなかった。というか、昨日がやたらと難しかったので、それと比べたら全然簡単やーん、という感じだった…。とくにFIFOなんて普通にプログラマやってる人なら大抵すぐに理解できるだろうし、いたって簡単なアルゴリズムだ。しかも、それをこうも分かりやすく説明してくれているわけだから、まぁいくら凡人の俺でも分かります(といいつつ何回か読み直してたのは内緒だ)。それで、今日やったことはマウスとキーボードの割り込みデータをゲットすること。しかしまだマウスは動かない。あくまでもデータをゲットできるだけ(ポケモン、ゲットだぜ〜)。とりあえずはセイカブツ「本当に30日でOSが出来上がるのかを試してみるページ(7日目)」を見てくれ。→http://www.geocities.jp/hariboteos/#l7
 実はワケあって環境がWinXPからWin98にバージョンダウンしてしまった。だからキャプチャ画面もWin98のものになっている。まぁどの環境でも学ぶことができる本書はなかなか気の利いたことをやってのけてくれている。実はこういう地味なところに気を配っている本は案外少なかったりするのだ。特に最近のプログラミング関連の書籍は「プログラマなら最新のOSくらい持ってろ! ボケ! カス! ゴミ!」と言わんばかりだ。プログラマだからってなぁ、なんでも持ってる、なんでも知ってると思うなよ! なんでプログラマってだけで、年賀状作成ソフトの使い方を教えなきゃならんのだ!
プログラマだから使い方分かるでしょ?」
って「分かるかボケーーーー」。俺はパソコン教室の先生じゃねーんだぞ。
「えっ? プログラマなのにこんなのも分かんないの?」
って、何その妙に疑っている目。お前ホントにプログラマ? と、そう言いたいのか? そう言いたいのか? おい。しかもそんなときに横から入ってきて
「まぁまぁそう言うなよ。いくらプログラマっていってもさ、ピンキリあるんだよ。なぁ?」
ってそれフォローになってないから! ピンキリ? 確かに俺は凡人だよ。普通の人だよ。そもそも文系だよ。もうお前らなんて知るかーー。
 と、ちょっと話がそれたので、もとに戻す。そして、今日やったのは結局のところキーボードとマウスの操作方法なのだ。この辺りは多少難しいというか、要するに覚えることが多いような気がする。しかし、覚えてしまえばなんてことはなく、データ取得方法さえわかれば、あとは結構どうにでもできる。キーボードに関してはhttp://community.osdev.info/?%28AT%29keyboardのページを見ておけば多分なんとかなるはず。あとhttp://community.osdev.info/?%28PIC%298259Aも重要。
 というわけで、一般的に難しいと感じるところはやはりハードウェア制御の部分だと思った。アルゴリズムのところは案外それほど難しくない(まだ最初の方だからかもしれないが)。で、それは実は当たり前で、ハードウェアを制御するプログラミングなんていまのご時世ほとんどのプログラマはやらない。だから資料もない。それで知識もつかない。でも、一般的なアルゴリズムの部分は多少なりとも書籍も出ているし、一応プログラマなわけだからある程度そういう分野は得意なはずだ。だから簡単に思える。今後、そういうハードウェアの制御部分が少なくなっていき、純粋なOSの機能拡張という方向に本書が進むならば、確かに6日目がある意味一番難しいところだったかもしれない。そして、それを乗り越えさえすればなんか結構先が見えてきそうな気はする。著者いわく、8日目くらいからやらされてる感がなくなりじょじょに楽しくなってくるらしいので、その言葉に期待して今日は寝ることにする。
 それはそうと、毎日何かを少しずつやっていくというのは、思った以上にハードなことだなと最近つくづく思う。だって、俺ここ1週間くらい、仕事の資料とこの本しか読んでないんだけど(というか、仕事中にスキをみて読んでる)。なにこの多忙さ。ありえねーよー。学生時代に戻りたい…。
 というわけで、学生諸君! 社会人は大変だぞ!!
 明日も乞うご期待!