« FFO:日輪を担いて | トップページ | WonderSwan Music Chiptune »

2007/08/27

WonderSwan : ラスタースクロール

H-blank割り込み(水平同期信号をトリガーとしたハードウェア割り込み)で実現する人が多いけど、LCD絵画ライン検知割り込みでも出来るのではないか?との気がして実験してみました。

結果としては、可能でした。
まぁ、割り込みを掛けたいラインを設定してかける割り込みなので、当然といえば当然なのですが。
実際、この割り込みは、こういった画像処理の為に設けられた割り込みだと思います。
何故、他の人が使わないのかは謎ですが。

やってる事は簡単で、
・設定時は、0ライン絵画データ作成時に割り込みを掛けるようにする。
 即ち、I/Oポートの 0x03 に、0x00を設定するわけです。

あとは、割り込みを発生させて、割り込みルーチン内では、
・スクロール量を設定したい値に設定する。
 ↑この処理は、割り込み発生後、32クロック以内に行う。
  実験したわけじゃなくて、理論値だけど。
  割り込みのトリガーが水平帰線期間に入った瞬間に掛かる事を前提とした場合です。
・次に割り込みしたいラインを設定する。
・絵画ライン検知割り込みのEOIを発行する。

だけです。

まぁ、今更Wonder Swanのプログラム組んで何するんだ? って話もありますが。

|

« FFO:日輪を担いて | トップページ | WonderSwan Music Chiptune »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/36969/16257322

この記事へのトラックバック一覧です: WonderSwan : ラスタースクロール:

« FFO:日輪を担いて | トップページ | WonderSwan Music Chiptune »