今度は、楽勝と思っていた解像度256×256の水平同期周波数15kHz版の対応で出てきました。
スペースハリアのゲーム画像がはげしく横ぶれしています。同期ずれではありません。
解像度256×256では画像を走査するラインが256しかありませんので、それを垂直同期信号に対応したタイミングで取り込むと、メモリ上でも縦256ドット分しかありません。そのままSVGA表示すると画面の上半分の画像となります。画面いっぱいにするには、1ラインごとに二度読みさせればいいので、1ライン取り出したらメモリの読み出しアドレスをメモリのライン先頭に戻すという処理を加えたらこうなりました。
確かにDDR2の順次読み出しが変則になったわけですので、調整が必要なのだと思います
が、はてさて・・・
とりあえずの対応で、X68000からの読み込み時点でメモリの1ラインおきに入れるようにして、それを表示させました。以下はその画像で、画面いっぱいにはなりましたが、ライン間に黒の隙間が見えます。
次に、これをなんとかしようと、今度は奇数ライン読み出し時に表示とともにFPGAのメモリに1ライン分記憶させ、偶数ラインの時にそれを表示させることにしたところ、きれいに表示されました。
よく考えたら、我が家にはこの解像度モードのソフトがスペースハリアしかありませんし、それももう遊ぶことはないだろうと思いますが、スキャンコンバータの真価発揮はこの画像モードへの対応かとは思いますので、頑張ってみました。
これで、予定の4種類の画像モードへの対応が完了しました。あとは、これら解像度モードの自動切り替えです。これまでも動作試験をしましたが、なぜかうまくいきません。水平同期周波数の違いで区別させればいいはずなのですが・・・。
★★★ メインサイトへのリンク 「
X68000改造室」★★★