18日目です。昨日の回でコンソールっぽいWindowが出来上がったので今回はコンソール機能の拡張になります。
今日は、カーソルの点滅制御、Enterキー対応、スクロール対応、memコマンド、clsコマンド、dirコマンド対応になります。あとでリファクタリングするということでメイン関数にガンガン機能追加している感じです。
memやclsはひたすら入力文字列を読んで機能を追加する感じなのでそれほど難しくはなかったです。問題はdirですね。今までファイルの制御なんてなかったのにいきなりdirなんてできるの!?と思いましたが、そういえばフロッピーディスクでなんたらみたいなのが最初にありましたね。Windows流のフォーマットになっているのか、ディスクイメージを解析してなんとかするようです。なるほど、Windows流なのでlsコマンドではなくてdirなんですね笑
最後の方は、へー、で終わりましたが、今日はほぼbootpack.cで完結したので理解しやすかったです。