9日目(メモリ管理に入る)
ここまで来ると具体的な内容は読んでいくしかない。
今回は最初に.cファイルをマウスとキーボードの部分を分割。
その前に、現在のフォルダをharibote_bak4にバックアップしておいた。
その後bootpack.cを書き換えたが、他にもbootpack.hとint.cを編集し、make runで完了。
Makefileのbootpack.binのところがものすごく長くなってきた。これはまた別途なんとかしたい。
メモリーチェック(harib06b)はなぜか表示が128MBと出てしまう。
これは次の項目を読む限りではコンパイラの差と思われた(?)ので、スルーしてharib06cを行ってみる。
主にnasfanc.nasの編集。make runでウィンドウが出るのは問題ない。
しかしやはり128MBになってしまう。
調べたところ、QEMUのメモリサイズのためということがわかった。
QEMUを使用している場合はharibo06bは飛ばしても問題なさそうだった。
最後のharib06dでメモリ管理に入る。
動作確認は、単純にbootpack.cのみ書き換えれば問題なく動く。
しかしメモリは128MBのまま。
freeの表示も127608KBと表示されている。
これはここで治す必要はないと思うので、ここまでにしておく。
今回参照させて頂いたサイト:
https://github.com/tomoyuki-nakabayashi/MyPlayGround/issues/6
https://wiki.archlinux.jp/index.php/QEMU
8日目(マウスを動かすまで)
その前に、前回の画面の文字が出ない&化ける問題について。
bootpack.cの
sprintf(s, "%02X", i);
のところ、%02Xを%xにして小文字で表示されるようになった。
難しい話ではなく、単に変数の型の問題だった。
多少本書と表示は変わるが、キーボードとマウスの動作確認には支障ない。
haribo05aに入る。
ここからはしばらくはbootpack.cの編集になる。
上記の%x(harib05c、dは%dも出てくる)の問題だけ注意して、make runでちゃんと表示されることを確認。
これで背景を削りながらも、マウスをコントロールできるようになる。
haribo05dまで実際に動作させて解読が終わったら、あとは本書を読むだけ。
メモリの番地を図にして解説しているブログがあって、そこがとてもわかりやすかった。そちらを見たほうがいい。
(でも自分の頭が悪いので、正直なんとなくわかったような気になった感じ)
ここはあまり書き残すことはなかった。
今回参照させて頂いたサイト:
http://bttb.s1.valueserver.jp/wordpress/blog/2018/01/06/makeos-8/