30日OS自作入門29日目(Win10)

はじめに

あと二日~

目次

圧縮と簡単なアプリケーション

バグ修正(harib26a)

Windowの文字をrefleshする処理が半角対応なために、半分しか表示されていなかったようです。よって、条件分岐で全角と半角の書き換えの大きさを調整すると正しく表示されるようになるようです。

実行すると

ファイル圧縮(harib26b)

圧縮に関して考えることは

・復元+圧縮プログラムの大きさ

・どれほど圧縮できるか

で、OS内部で圧縮したファイルを処理する流れは

ファイルを置くのに必要なメモリを確保する  
↓  
ファイルのサイズが17バイト以上であれば、tek形式でないかと判断  
↓  
tek_getsizeで判定  
↓  
復元後のファイルのサイズだけメモリを確保  
↓  
復元したのち、確保したメモリの番地を返す  

という流れになっているようです。

・psizeは、sizeの値を変更したいため

・iを書き換えられることに対する対策

・nihongo.fntを圧縮ファイルに書き換えているので、処理の仕方を追加するだけでよい

・アプリに適用する際は、file_loadfile2を通すようにする

実行する

標準関数(harib26cの中に含めた)

C言語の標準ライブラリを実装するようです。自分はclibファイルを作成し、それをgo00.exeを使いライブラリ化しようかな?って感じで考えています。(できるかは試してないです)

非矩形ウィンドウ(harib26c)

透明色を255番を指定することで透明を作っているようです。これ使えば、面白いUIを作れそう
実行すると

bball(harib26d)

実行すると

インベーダーゲーム(harib26d)

ついにきちゃったよ~

実行すると、こんな感じになります!

最後に

終わりが見えてきましたね!あと少し!