30日OS自作入門29日目(Win10)
はじめに
あと二日~
目次
圧縮と簡単なアプリケーション
バグ修正(harib26a)
Windowの文字をrefleshする処理が半角対応なために、半分しか表示されていなかったようです。よって、条件分岐で全角と半角の書き換えの大きさを調整すると正しく表示されるようになるようです。
実行すると
30日自作OS本(harib29a)
— 猫(1010) (@Wagahaiha_toto) 2020年2月23日
バグが治った! pic.twitter.com/xHT3z5Kh8P
ファイル圧縮(harib26b)
圧縮に関して考えることは
・復元+圧縮プログラムの大きさ
・どれほど圧縮できるか
で、OS内部で圧縮したファイルを処理する流れは
ファイルを置くのに必要なメモリを確保する ↓ ファイルのサイズが17バイト以上であれば、tek形式でないかと判断 ↓ tek_getsizeで判定 ↓ 復元後のファイルのサイズだけメモリを確保 ↓ 復元したのち、確保したメモリの番地を返す
という流れになっているようです。
・psizeは、sizeの値を変更したいため
・iを書き換えられることに対する対策
・nihongo.fntを圧縮ファイルに書き換えているので、処理の仕方を追加するだけでよい
・アプリに適用する際は、file_loadfile2を通すようにする
実行する
30日自作OS本(harib26b)
— 猫(1010) (@Wagahaiha_toto) 2020年2月24日
tek形式の圧縮ファイルが復元可能になりました。 pic.twitter.com/uLUft3QKxF
標準関数(harib26cの中に含めた)
C言語の標準ライブラリを実装するようです。自分はclibファイルを作成し、それをgo00.exeを使いライブラリ化しようかな?って感じで考えています。(できるかは試してないです)
非矩形ウィンドウ(harib26c)
透明色を255番を指定することで透明を作っているようです。これ使えば、面白いUIを作れそう
実行すると
30日自作OS(harib26c)
— 猫(1010) (@Wagahaiha_toto) 2020年2月24日
透明の部分が選択できないのが、興奮ポイント pic.twitter.com/PaVlLyfmY4
bball(harib26d)
実行すると
30日自作OS(harib26d)
— 猫(1010) (@Wagahaiha_toto) 2020年2月24日
想像の倍くらいキレイだった pic.twitter.com/BTBLhAzmOA
インベーダーゲーム(harib26d)
ついにきちゃったよ~
実行すると、こんな感じになります!
30日自作OS本(harib29e)
— 猫(1010) (@Wagahaiha_toto) 2020年2月25日
ハイスコアは1135でした pic.twitter.com/FkqUBKY1aY
最後に
終わりが見えてきましたね!あと少し!