ドラクエ風RPGファミコンプログラム講座
【 TEST用プログラムの作成 】
〖 〗
*下記のコードはエミュレータで動く最小プログラムでFCEUXでは、動きましたが
VirtualNES では、ゼロページの初期化とパターンDATAの設置までしないと
動かないようです。ネストピアは、さらにシビアなようです。
*****印の所にテストプログラムを書いていきます。
;------------------------------------------------------
.inesprg 1
.ineschr 1
.inesmir 1
.inesmap 0
;-------------------------------------------------------
.bank 1
.org $FFFA
.dw 0
.dw Start
.dw 0
;--------------------------------------------------------------
.bank 0
.org $8000;
Start:
sei ;割り込み禁止
cld ;フラグクリア
ldx #$ff ;スタックポインターの初期化
txs
lda #%00001000 ; ここではVBlank割り込み禁止
sta $2000
lda #%00011000
sta $2001
VB0:
lda $2002
bpl VB0
jsr palette
jsr zero_init
*********
*********
main_loop:
jmp main_loop
palette:
lda #$3f
sta $2006
lda #$00
sta $2006
ldx #0
pal_loop:
lda pall,x
sta $2007
inx
cpx #32
bne pal_loop
rts
zero_init:
lda #0
tax
lp00:
sta <$00,x
inx
bne lp00
rts
;-------------------------------------------------------------pall:
.db $0f,$30,$11,$21
.db $0f,$29,$1a,$27
.db $0f,$10,$00,$29
.db $0f,$29,$37,$11
.db $0f,$35,$30,$12
.db $0f,$26,$24,$25
.db $0f,$26,$27,$28
.db $0f,$11,$12,$13
*コントロールレジスタの設定は、BGパターンが $0000 スプライトパターンが
$1000, BG・スプライトの表示ON