アフィリエイト広告を利用しています
 

広告

posted by fanblog

2024年03月18日

Laboratoryテーマ8「32枚を超えてSPRITEを表示させたい(非走査線割込)」



Laboratoryテーマ8「32枚を超えてSPRITEを表示させたい(非走査線割込)」です。

MSX1のSPRITEは非常に便利ですが、32枚までしか使えません。
ゲームによっては32枚じゃ足らない事もしばしば…。

そこで32枚を超えて表示させる方法を検討します。

実は技術的には走査線割込みを使って表示させることは可能です。
HRAさんが公開されてますので、ご覧ください。

私の方法は走査線割込みは使いません。(結果的には使いますが…。)
横スクロール系のゲームを作るなら必須となる前回のテーマ、Laboratoryテーマ7「水平ライン4枚(MSX2は8枚)を超えてSPRITEを表示させたい」。
その拡張で可能です。
組み込む必要のあるロジックを、少しの拡張するだけで32枚を超えて表示させる機能が追加できるので、メモリ的なメリットも大きいと思います。

要は簡単。
仮想スプライトアトリビュートテーブルを64キャラクタ分用意します。(&HC900~&HC9FF)
シャッフルする際は前回同様、32/64キャラクタ分シャッフルし表示します。
あとは素数を加算し、32以上になったら32引いていたところを、64以上になったら64引くに変更するだけです。
3_16_2.png

そう、この表示される32キャラクタは64キャラクタの中から素数入替法によって選ばれますので、何回かの表示の間に必ず64キャラクタ全て表示されます。

結果はこちら。
3_16_1.png

点滅していて見辛いですが、64キャラクタ表示されています。(横16キャラクタ×縦4キャラ=64キャラクタ)
キャラクタ表示数をカウントし、32キャラを超えたらこちらのロジックに切り替えるだけで済みます。
(切り替えないと32キャラクタ以下でも点滅してしまいます。)

走査線割込みが技術的に難しいと言う方はどうぞ。
サンプルプログラムです。

「OVER32.BAS」【ダウンロード

BASIC部です。
3_16_3.png
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/12427917
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
<< 2024年12月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
広告
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
プロフィール
カテゴリーアーカイブ
ファン
QRコード
×

この広告は30日以上新しい記事の更新がないブログに表示されております。