今日の作業

6:48

bvddの改良。MPlayerで使うオーバレイ以外は真面目に実装していなかったので、そのへんを修正。ベースフレームのブランチがちゃんと機能するように。

あとバージョン問い合わせのioctlも追加。bvdd-1.0.0になるまではインターフェースも変更しまくりなので、期待するのと違うバージョンのbvddが動いてると何かとヤバいと思う。

8bpp以下のサポートは現在作業中。

9:41

そういえば、FCE Ultraも試してみたんだけど、結構遅いっぽい。音がかなりブツ切れになる。コードを眺めたところ、blit部分がちょっとありえなくてゲンナリ。いくらなんでもこれは……。

znester(Nester/DC)のPPUエミュレート部を見たところ、意外にもすんなりローテート対応が出来そうな感じ。これはNester/DCで改良されているのか、ベースのNesterからしてこうなのか。Nesterがこの構造であれば、NesterJあたりをベースにローテート対応をやれば、速度とエミュレーション精度の両立が出来るかな。

10:18

メモ。フレームバッファをいじったあと、Qtopiaの画面を再描画するのには"qcop QPE/System 'applyStyle()'"が使える。

11:02

bvddをQVGAで使うために泥臭いこと(openのタイミングを調節やcloseのかわりにflushを使ったりなど)をしていたけど、良さげな解決策を思い付いたので仕様を変更。bvddを使う側は/dev/bvddをopenしたあと、/dev/fbで解像度を変更してBVDD_IOCTL_SETUP_*_FRAMEを何も気にせず呼んでオーケー。この変更で、使っている最中にスクリーンセーバ起動などの要因で解像度が変わってもホワイトアウトすることは無くなったはず。復帰は出来ないけど。