Ruputer用ToHeart2「腕このみ(フェイク)」
かみのとさんの日記から。

おー何気に凄い。試したくなったが、実機は電池切れなのと母艦と通信する手段が無いのでエミュレータで試してみる。……残像にならない。なんでだろう。開発環境でのスクリーン・ショットのエミュレータに、絵が2プレーン映っているが、それを見て気付いた。そう、gv_place の切り替えでは、残像効果にならない。

現在の Aurex もそうだし、次期の Aurex2 も同じ理由。それが以下


(a)                    (b)                    (c)
+-----+                +-----+                +-----+
|     |     (1)        |     |     (2)        |     |
|     |  ==========>   |     |  ===========>  |     |
|     |                |     |                |     |
+-----+                +-----+                +-----+
本当のピクセル情報  残映ピクセル情報     各ウィジェットの画面
(320x240)             (320x240)          (102x64) or (320x240)

というように3段構成になっているが、(2) のピクセル転送では、「gv_place してあった場合、(b)のどこのピクセルの情報を持ってくるか」ということだけなので、既に表示されている (c) の画面に対しての残映効果が働かない。

ここで、102×64 の場合は (b) も 102×64 にして、(1) で (a) のピクセルの位置を選択し (b) のプレーンとの残映処理を行なえば、gv_place でも残映することに気づいた。そしてそれをやってみたのが以下のスクリーンショット

また修正したバイナリ

コメントを残す

メールアドレスが公開されることはありません。