ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編
第27回
*今回は、BG(背景)座標とVRAMアドレスの算出
任意の位置にパターンを表示するにはX、Y座標を基に
表示位置を計算する必要がある。
『VRAMとアドレス』
*計算式は $2000+32*y+x になります。
*Vram_add という2byteの領域を確保し
$2000(Vram先頭アドレス)を格納しておく。
lda cur_y ;Y座標
sta count1 ;カウンターをセット
lp:
lda Vram_add+1 ;アドレス下位
clc ;キャリーフラグリセット
adc #$20 ;VRAMの横幅(32)を加算する。
sta Vram_add+1
lda Vram_add ;アドレス上位
adc #$0 ;繰り上がり分を加算する。
sta Vram_add
dec count1
bne lp
lda Vram_add+1
clc ;キャリーフラグリセット
adc cur_x ;x座標
sta Vram_add+1
*上記のコードは、X座標・Y座標で示すVRAMアドレスを計算するプログラムです。
まだ変数ついて解説してなかったので次回は、プログラムの説明と
【変数とゼロページ】 について解説します。