ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編
第26回
*今回は、BG(背景)の描画の実習です。
先ずは、パターンデータ を用意する
⁂BG用パターンテーブルのセレクトはコントロールレジスタ($2000)のBIT4で行います、
0.$0000 1.$1000 今回は、0に設定する。
.bank 2
.org $0000
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$42,$42,$42,$7e,$42,$42,$42,$00,$00,$00,$00,$00,$00,$00,$00 ;H
.db $00,$7e,$40,$40,$7c,$40,$40,$7e,$00,$00,$00,$00,$00,$00,$00,$00 ;E
.db $00,$40,$40,$40,$40,$40,$42,$7e,$00,$00,$00,$00,$00,$00,$00,$00 ;L
.db $00,$3c,$42,$42,$42,$42,$42,$3c,$00,$00,$00,$00,$00,$00,$00,$00 ;O
.db $00,$42,$62,$52,$5a,$4a,$46,$42,$00,$00,$00,$00,$00,$00,$00,$00 ;N
.db $00,$3c,$42,$40,$3c,$02,$42,$3c,$00,$00,$00,$00,$00,$00,$00,$00 ;S
【PPUアドレスレジスタと VBlank】
Start:
sei ; 割り込み不許可
cld ; デシマルモードフラグクリア
ldx #$ff
txs ; スタックポインタ初期化
ldx #%00001000
sta $2000
ldx #%00000000
sta $2001
jsr VB0 ;VBlank待ち
jsr palette
jsr zero_init
jsr VB0
lda #$22
sta $2006
lda #$0a
sta $2006
lda #$01 ;H
sta $2007
lda #$02 ;E
sta $2007
lda #$03 ;L
sta $2007
lda #$03 ;L
sta $2007
lda #$04 ;O
sta $2007
lda #$00 ;H
sta $2007
lda #$05 ;N
sta $2007
lda #$02 ;E
sta $2007
lda #$06 ;S
sta $2007
jsr scroll_zero
lda #%00001000
sta $2000
lda #%00011000
sta $2001
loop000:
jmp loop000
⁂画像のように表示されれば成功です。