忍者ブログ

Cyber Bird

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

OS自作入門 onLinux 10日目



10日目が終わりましたー。
今回は、重ね合わせ処理の日です。マウスがタスクバーに重なってます。

マウスがチラチラするのは11日目で解決するっぽいです。
たぶん、ダブルバッファリングとかやるのかな?まだ読んでないからわからないけど。

今回のソースコードはこちら


さて、今回は大幅な書き直しに追われて少々時間がかかりました。

どこを書き直していたかというと、描画系関数のvramの指定です。
たとえばboxfillやputfontみたいな関数ね。

今まではみんなbinfo->vramに直接書き込んでいたので、引数でわざわざ指定するのは
冗長だから、binfoをグローバル変数にして、各関数からbinfo->vramにアクセスしていたけれど、
この仕様は重ね合わせ処理のためだったんですね。

重ね合わせ処理では、各レイヤーのためのバッファを用意して、バッファの内容を
sheet_refresh関数でbinfo->vramに反映しているので、各々のバッファを関数に指定する必要があったのです。
背景に文字を描画するために、putfont関数にbuf_backを渡す、みたいな。

その際に、恒例の=と==のミスを今回も犯してしまい、なかなかデバッグできなかったところを
Livaさんに助けていただきました。この場を借りてお礼をさせていただきますm(_ _)m



さて、これからの予定なんですが、ここからは自作本の説明が十分っぽいので、特筆することがありません。
というよりは、内容がハードウェア的内容からソフトウェア的内容になっていくんですよね。
後残されてるハードウェア的内容は大きく見て…
・タイマ
・マルチタスク(TSSなどなど)
ぐらいだと思います。正確には読んでないのでわかんないです。
アルゴリズムの説明は十分になされています。(というか、そうじゃなければ読んでいてもわかりません)

なので、これ以降はほとんどソースをアップして、スクリーンキャスト&ショットをアップして、
概要をまとめて…くらいになっちゃうんじゃないかと思います。その点はご了承ください。

勿論、これは説明が要りそうだなーと思ったら適宜はさむつもりです。


そしてもう一つ。


僕は現高2なので、受験まであと1年です。
正直、今の状況でもパソコンを触るのもどうかと思いますが、子供のうちにやりたいことは
やっておかないと絶対に後々後悔するのでなんとか…。
それでも流石に、来年はこんなに更新できないと思います。

今のところ、14日目までは最低でもやる予定です。マルチタスクに入る前です。
理由は特にないです。敢えて言うならキリがいいのと、あと4日分ならたぶん大丈夫だと何となく思ったくらい。

そんなわけで、この点もご了承ください。


ご覧になっている方には本当に感謝しておりますので、心苦しいのですが…。
PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

ブログ内検索

プロフィール

HN:
levelfour
性別:
男性
自己紹介:
ぼちぼち更新を再開する予定です。

twitter

最新コメント

[09/27 菜々氏]
[06/17 NONAME]
[04/30 mithril]
[04/29 Liva]
[01/30 NONAME]

最新トラックバック

コガネモチ

Copyright ©  -- Cyber Bird --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]