ドラクエ風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

f:id:chien1956:20200114210958p:plain

⁂画像のように表示されれば成功です。