ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編
【第42回】
『マップ描画編』
NESには、ネームテーブルというテキスト画面が1面とスプライトがあす。
テキスト画面は、256x240 (8x8キャラ)で32x30の表示が可能、
水直ミラーリング時には、512x240・水平ミラーリング時んは、256x480に
すことも可能、スプライトは8x8のパターンが64個同時に表示可能しかし
水平には、最大で8個までしか表示できません。
2.テキスト画面とスプライト
テキスト画面は、一般的に背景や文字を表示するもので、
スプライトはキャラクターや動的なものに使用します。
テキストやスプライトのパターンDATAは、PPUのメモリー$0000~$1fff
のROMに割り当てられており、$0000からと$1000をテキスト用・
スプライト用にPPUコントロールレジスタ $2000 により切り替えられます。
テキストの表示は、スクリーン0 $2000 ~$23bf スクリーン1 $2400~$27bf
(水平ミラーリング時)のRAMに割り当てられています。
3.アトリビュート
アトリビュート(属性)は、タイルパターンにパレットを指定するのもで、
$23c0~$23c0 と $27c0~$27ff に割り当てられています。
アトリビュートは、かなり変則的なので後で詳しく解説します。
4.マップDATAのフォーマット
1タイル当たり8ビットその内上位2ビットをパレットDATAとします。
0000_0001 赤色のところがパレット(属性)DATAで、
残りの6BITがタイルIDです。
5.MAPタイルの構成
*下記のようなDATA構成になります。
Tip_data:
.db $00,$00,$00,$00;海
.db $01,$02,$03,$04;草原
6.ミラーリング
下の画像の通り水平に同じ画面が描画されるのが水平ミラーリングです。
【水平ミラーリング】
下の画像の通り水直に同じ画面が描画されるのが水直ミラーリングです。
【水直ミラーリング】
*画像は、WIKIからお借りしました。
⁂次回は、MAPタイルの表示です。