(http://nekomemo2.site)の補助用。2020-02-0618日目(前日の修正、カーソル、コマンド)30日でできる!OS自作入門また間が空いたので、17日目を読み返しながら編集。現時点でbootpack.cのワーニングがいくつか出ていて、動作しつつも気になっていた。一応起動はできてるが、確認したところやはりbootpack.hの修正ができてなかった。したタイプミスでよけいなワーニングが出ていた。他にも気になるワーニングがあるが(例のsprintf)、明らかなタイプミス以外は保留して続ける。harib15a、harib15b、harib15c、harib15d、harib15eまではだいたい前にやったことの繰り返しと言うか、おさらい的な話になる。関数なども増えないので、ここまではbootpack.cのみの編集。x,y;」を忘れただけでかなり悩んだ。自分には大変だったので、ここのプログラムもちゃんと読めるように改めて復習したい。harib15fのclsコマンドで使用するstrcmpという関数は、sprintf同様この環境では使えなかった。検索したところ、以前から参照させていただいているブログにコードが書かれていたので、それをそのままbootpack.c内に追記した。(別ファイルにするとまたMakefileがめんどくさいので)それにharib15gも大変だった。何がというと、情報量。ここしばらくbootpack.cの編集のみで楽をしていたため、頭の中を戻すのに苦労した。本書に書かれている通り、いったん3日目に戻って読み直しをした。(あまり思い出せなかったが...)3日目にシリンダから読み込んで保存した内容を、今になって表示できるように引っ張り出した、ということで良いだろうか。それと久々にバイナリデータを確認。haribote.imgでGhexを起動、2600あたりを確認。HARIBOTE.SYSについては本書のようになっているはず。ipl10.nasなどを追加してなければ他は違うが、とにかくアドレスは同じはず。あとは、自分の環境はlinuxなので、dirコマンドはlsに修正した。それとメモリの数字の表示を%dにすること。環境の違いはともかくできるだけ本書に沿った方法で作業しているが、この程度の変更なら問題なく先に進められると思う。今回はやっていることが過去のおさらいのような感じで、比較的わかりやすい。C言語はあいかわらずよくわかってないので、やったことと引っかかったことを書いておく。今回でカウンタを消去、さらにtask_bにさよならして、console_taskに書き換え。harib14bでwin_bなどをconsにするのに気づかず、かなりエラーを出した。bootpack.cの編集ばかりだが、書き換えたり書き加えたりするところがかなり長くなってるので、タイプミスが辛い。ちなみにbarib14dで8以外の数字でもいいというので、試しに16にしてみたりしたが、特に大きな変化がなかったので戻した。(余計なところまで変えてしまって、task_aの入力が一文字置きになったりもしたが、コンソールのほうはそのままだった。Lockは、自分のPCでは効かなかった。普通にシフトキーで大文字が出るだけ。ちなみにコラムにあるような、左右のシフトキーに差は出なかった。先に進めて、harib14gでは正しく動いた。LEDのランプも実機でなくても普通に点灯する。キーボードのハード的な部分との絡みが出てきて、やっていて楽しい。ウィンドウや文字コードの変換のところの入力はきつかった。タイプミスのエラーを潰していくのは時間の無駄なので、だめだったら素直にコピペするほうが良さそうだ。別件だが、QEMUで実行する際の解像度は上げたままなので、それに比較するとコンソールに限らず各窓がかなり小さい。ここでいろんな人がサイズをカスタムすることが多い理由がよくわかった。この章は内容が自分でもわかりやすかったのでいじってみたくなるが、あまり差異を増やすとちょっとのことでもわからなくなるので、このまま本書通りに続ける。22:1717日目(キーボードからの入力)Tweet広告を非表示にするもっと読むコメントを書く2019-12-3016日目(マルチタスクの続き)mtask.cの大改造。*/(構造体を追加)以下を修正。task_switch(void);にしている。mt_timerをtask_timerに置き換えたためだが、自分にはそこまで読み取れなかった。HariMain(void)の前も追記に注意。*sht_back);を削除。timer.cも修正が必要なのを忘れない。具体的な修正が本書に記載されてないので、エラーで気づいた。mt_timerをtask_timer、mt_taskswichをtask_swichにする。最初で苦労したら、harib13b以降は問題ないと思う。だいたい記載されている通りになっている。bootpack.cとbootpack.hの改造はセットでチェックが必要なのはいつもの通り。あとはタイプミスとの戦い。ウィンドウを増やすところは自分のポカミスが多くてもう無理だったので、最後はコピペに頼った。それとtimer3など、消す必要があるところと、環境によってはカウンタ表示を%dにするのを忘れずに。改造した後はカウントが目に見えて早くなっているのがわかる。数え続けてしまうときは数字を通り越して記号になるしスピードも早すぎるので、正確に数字は書けない。(一時的に止めるように改造できればいいんだけど、自分には無理)最近のPCを使っていると処理が早すぎるので、おそらくスピードの測定はあまり意味がないんじゃないかと思う。ここまで来ると、自分の環境ではマウスでウィンドウを動かしてもストレスがない。進めていく上で必要な場合のみ、対応していくことにする。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。