ねこめもmkII(マークツー)

本家ねこめも (http://nekomemo2.site)の補助用。 主に勉強ネタ。

18日目(前日の修正、カーソル、コマンド)

また間が空いたので、17日目を読み返しながら編集。

現時点でbootpack.cのワーニングがいくつか出ていて、動作しつつも気になっていた。
一応起動はできてるが、確認したところやはりbootpack.hの修正ができてなかった。
また、ちょっとしたタイプミスでよけいなワーニングが出ていた。
他にも気になるワーニングがあるが(例のsprintf)、明らかなタイプミス以外は保留して続ける。

harib15a、harib15b、harib15c、harib15d、harib15eまではだいたい前にやったことの繰り返しと言うか、おさらい的な話になる。
特に関数なども増えないので、ここまではbootpack.cのみの編集。
それでもあいかわらずタイプミスや、console_taskで「int x,y;」を忘れただけでかなり悩んだ。
とにかく自分には大変だったので、ここのプログラムもちゃんと読めるように改めて復習したい。

harib15fのclsコマンドで使用するstrcmpという関数は、sprintf同様この環境では使えなかった。
検索したところ、以前から参照させていただいているブログにコードが書かれていたので、それをそのままbootpack.c内に追記した。
(別ファイルにするとまたMakefileがめんどくさいので)

それにharib15gも大変だった。
何がというと、情報量。ここしばらくbootpack.cの編集のみで楽をしていたため、頭の中を戻すのに苦労した。
本書に書かれている通り、いったん3日目に戻って読み直しをした。
(あまり思い出せなかったが…)

3日目にシリンダから読み込んで保存した内容を、今になって表示できるように引っ張り出した、ということで良いだろうか。

それと久々にバイナリデータを確認。1日目以来だと思う。
一応make imgして現在のimgファイルを作り、
 ghex haribote.img
でGhexを起動、2600あたりを確認。
HARIBOTE.SYSについては本書のようになっているはず。ipl10.nasなどを追加してなければ他は違うが、とにかくアドレスは同じはず。

あとは、自分の環境はlinuxなので、dirコマンドはlsに修正した。
それとメモリの数字の表示を%dにすること。
環境の違いはともかくできるだけ本書に沿った方法で作業しているが、この程度の変更なら問題なく先に進められると思う。

 


今回参照させて頂いたサイト:
https://wisteria0410ss.hatenablog.com/entry/2019/02/21/151455
http://bttb.s1.valueserver.jp/wordpress/blog/2018/02/12/makeos-18/