開発環境

  • Windows 10 Home (64bit)
  • ASM6

ソース

will.chr


will.asm

;asm6 will.asm will.nes
 
	; iNES header
	db	"NES", $1a
	db	$01	; PRG-ROM
	db	$01	; CHR-ROM
	db	$00	; mapper / mirroring
	dsb	9, $00
 
	base	$c000
Reset:
	lda	#$00
	sta	$2000	; PPU制御レジスタ1
	sta	$2001	; PPU制御レジスタ2
 
	; ネームテーブル $2000-$23bf
	lda	#$20
	sta	$2006	; VRAMアドレスレジスタ
	lda	#$00
	sta	$2006
	ldx	#0
-
	lda	name_tbl0, x
	sta	$2007	; VRAMアクセスレジスタ
	inx
	bne	-
-
	lda	name_tbl1, x
	sta	$2007	; VRAMアクセスレジスタ
	inx
	bne	-
-
	lda	name_tbl2, x
	sta	$2007	; VRAMアクセスレジスタ
	inx
	bne	-
-
	lda	name_tbl3, x
	sta	$2007	; VRAMアクセスレジスタ
	inx
	bne	-
 
	; パレットテーブル $3f00-3f1f
	lda	#$3f
	sta	$2006	; VRAMアドレスレジスタ
	lda	#$00
	sta	$2006
	ldx	#0
	ldy	#$20
-
	lda	palette_tbl, x
	sta	$2007	; VRAMアクセスレジスタ
	inx
	dey
	bne	-
 
	; スプライト
	ldx	#0
	ldy	#(4*31)
-
	stx	$2003	; スプライトアドレスレジスタ
	lda	sprite_data, x
	sta	$2004	; スプライトアクセスレジスタ
	inx
	dey
	bne	-
 
	lda	#$00
	sta	$2005	; スクロールレジスタ
	sta	$2005
 
	; 表示開始
	lda	#$08
	sta	$2000	; PPU制御レジスタ1
	lda	#$1e
	sta	$2001	; PPU制御レジスタ2
-
	jmp	-
 
name_tbl0:
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$0a,$0b,$0c,$0d,$0e,$0f,$10,$11,$12,$10,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$13,$14,$15,$16,$17,$12,$18,$19,$09,$0a,$1a,$1b,$1c,$1d,$1e,$1f,$20,$21,$10,$00,$00,$00
name_tbl1:
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$22,$23,$24,$25,$26,$27,$28,$09,$29,$19,$2a,$2b,$2c,$2d,$2e,$2f,$30,$10,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$31,$32,$24,$33,$34,$35,$19,$36,$37,$38,$39,$3a,$3b,$3c,$3d,$3e,$12,$10,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$3f,$40,$41,$42,$43,$44,$45,$0a,$19,$46,$47,$48,$49,$4a,$4b,$4c,$4d,$44,$12,$4e,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$4f,$50,$51,$52,$15,$53,$54,$55,$0a,$19,$56,$57,$58,$59,$5a,$5b,$5c,$5d,$44,$12,$5e,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$5f,$60,$61,$15,$15,$62,$63,$64,$65,$19,$66,$67,$68,$69,$0a,$6a,$6b,$6c,$44,$12,$6d,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$6e,$6f,$70,$71,$15,$72,$73,$74,$64,$75,$76,$77,$78,$79,$7a,$7b,$7c,$12,$7d,$44,$7e,$7f,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$80,$81,$82,$83,$84,$85,$86,$87,$64,$86,$87,$88,$00,$00,$89,$8a,$19,$8b,$8c,$44,$12,$8d,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$8e,$8f,$90,$91,$64,$86,$87,$64,$86,$92,$93,$94,$95,$96,$0a,$19,$97,$98,$99,$12,$9a,$00,$00,$00
name_tbl2:
	db	$00,$00,$00,$00,$9b,$9c,$9d,$9e,$9f,$a0,$a1,$a2,$64,$86,$87,$64,$86,$87,$64,$a3,$a4,$09,$0a,$19,$a5,$a6,$a7,$a8,$a9,$00,$00,$00
	db	$00,$00,$00,$00,$aa,$ab,$ac,$ad,$ae,$af,$b0,$87,$64,$86,$87,$64,$86,$87,$b1,$b2,$19,$09,$0a,$b3,$b4,$b5,$b6,$b7,$b8,$00,$00,$00
	db	$00,$00,$00,$00,$b9,$15,$15,$ba,$bb,$bc,$bd,$be,$64,$86,$87,$64,$86,$87,$bf,$0a,$19,$09,$0a,$c0,$c1,$c2,$c3,$c4,$c5,$00,$00,$00
	db	$00,$00,$00,$00,$15,$15,$15,$c6,$c7,$c8,$c9,$ca,$64,$86,$87,$64,$86,$cb,$09,$0a,$19,$cc,$cd,$ce,$cf,$d0,$d1,$12,$d2,$00,$00,$00
	db	$00,$00,$00,$00,$d3,$d4,$d5,$d6,$44,$d7,$d8,$87,$64,$86,$87,$64,$86,$d9,$09,$0a,$da,$db,$dc,$dd,$de,$df,$44,$12,$10,$00,$00,$00
	db	$00,$00,$00,$00,$e0,$e1,$e2,$10,$44,$e3,$86,$87,$64,$86,$87,$64,$86,$e4,$09,$0a,$e5,$e6,$e7,$e8,$e9,$ea,$44,$12,$10,$00,$00,$00
	db	$00,$00,$00,$00,$eb,$ec,$30,$10,$ed,$64,$86,$87,$64,$86,$87,$64,$ee,$19,$09,$ef,$f0,$f1,$f2,$f3,$f4,$10,$44,$12,$10,$00,$00,$00
	db	$00,$00,$00,$00,$f5,$f6,$12,$10,$f7,$64,$86,$87,$64,$86,$87,$64,$f8,$19,$f9,$fa,$fb,$fc,$fd,$fe,$30,$10,$44,$12,$10,$00,$00,$00
name_tbl3:
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
	db	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
attr_tbl:
	db	$00,$00,$00,$00, $00,$00,$00,$00
	db	$00,$00,$00,$00, $00,$00,$00,$00
	db	$00,$00,$00,$00, $00,$00,$00,$00
	db	$00,$00,$00,$00, $00,$00,$00,$00
 
	db	$00,$00,$00,$00, $00,$00,$00,$00
	db	$00,$00,$00,$00, $00,$00,$00,$00
	db	$00,$00,$00,$00, $00,$00,$00,$00
	db	$00,$00,$00,$00, $00,$00,$00,$00
 
sprite_data:
	db	63, 1, 0, 120
	db	63, 2, 0, 128
	db	63, 3, 0, 136
	db	71, 4, 0, 120
	db	71, 5, 0, 128
	db	71, 6, 1, 144
	db	71, 7, 1, 152
	db	79, 8, 0, 72
	db	79, 9, 0, 80
	db	79, 10, 0, 88
	db	87, 11, 0, 64
	db	87, 12, 0, 72
	db	87, 13, 0, 152
	db	95, 14, 0, 56
	db	95, 15, 0, 64
	db	95, 16, 0, 152
	db	95, 17, 0, 160
	db	103, 18, 0, 48
	db	103, 19, 0, 56
	db	103, 20, 0, 64
	db	103, 21, 0, 152
	db	103, 22, 0, 160
	db	111, 23, 0, 48
	db	111, 24, 0, 56
	db	111, 25, 0, 144
	db	111, 26, 0, 152
	db	119, 27, 0, 144
	db	119, 28, 0, 152
	db	127, 29, 0, 32
	db	127, 30, 0, 40
	db	127, 31, 0, 48
 
palette_tbl:
	db	$30, $0f, $15, $28
	db	$00, $00, $00, $00
	db	$00, $00, $00, $00
	db	$00, $00, $00, $00
 
	db	$30, $1a, $12, $2c
	db	$00, $1a, $12, $14
	db	$00, $00, $00, $00
	db	$00, $00, $00, $00
 
	org	$fffa
	dw	0	; NMI VBlank
	dw	Reset
	dw	0	; IRQ/BRK
 
	incbin	"will.chr"
 
最終更新:2020年12月18日 11:07
添付ファイル