正直日記



2008/12/26

_ HBI によるラスタスクロールを極める(3)
ふおー、めんどくさい。駆け足で行きます。

今日はマリオカートを再現してみます。

モード7という言葉を聞いたことがあるでしょうか。スーパーFC(Sファミコン
とも言う)の画面モードのことで、拡大縮小回転をサポートしています。

で、そのモードで使われるパラメータがドドン。



まぁアフィン変換ですね。画像に描かれてるパラメータの説明は多分嘘ですが気
にしないで下さい。

んで、こういう画像を用意しました。



嫌な予感がしますね。

ラスタ割り込みで、画面下方に行くにつれて縦横比を引き伸ばしてやると、こう
なりました。



もうスペハリ地面が半分完成。早いですね。
ラスタ毎の横スクロールを全く調整してないので、なんか傾いてますが。

あとは、行列テーブルに三角関数を代入してやれば完成かしら。



結局スペハリかよ!という感じですが、一応動くデータも用意しました。
スタートボタンでマップが切り替わります。

raster_test_mode7.zip

モード7の 3D 表現は一応インチキ無しの 3D ではありますが、原理上、平面し
か表現出来ないので、絵ヅラは似たり寄ったりになりますな。

さて、次のネタを考えないと……。
_ HBI によるラスタスクロールを極める(2.5)
ちょっと自己フォロー。

ここで紹介したコードはラスタスクロール用のテーブルを平気で書き換えてまし
たけど、処理落ちが発生したときや、書き換え中に割り込みが発生したときなど
に困ることになるので、ダブルバッファにするとか書き換え中に割り込みを止め
るとかの措置を取らんと駄目ですね。スペハリ再現の方ではやってるんですけど、
アップしたコードが断片なのでそこらへん出てませんでした。

最新
2010 | 01 04
2009 | 01 02 03 04 05 06 07 09 10 11 12
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 01 02 03 04 05 06 07 08 09 10 11 12
2005 | 01 02 03 04 05 06 07 08 09 10 11 12