>fsutil file createNew sprite.chr 8192
00000000 00 00 00 00 00 00 00 00 01 01 01 01 01 01 01 FF 00001000 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 FF FF FF FF
;asm6 sprite.asm sprite.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
; パレットテーブル $3f00-3f1f
lda #$3f
sta $2006 ; VRAMアドレスレジスタ
lda #$00
sta $2006
ldx #$00
ldy #$20
-
lda palette, x
sta $2007 ; VRAMアクセスレジスタ
inx
dey
bne -
ldx #$00
stx $2003 ; スプライトアドレスレジスタ
lda #120 ; y
sta $2004 ; スプライトアクセスレジスタ
inx
stx $2003
lda #$00 ; tile
sta $2004
inx
stx $2003
lda #$00 ; attr
sta $2004
inx
stx $2003
lda #128 ; x
sta $2004
lda #$08
sta $2000 ; PPU制御レジスタ1
lda #$1e
sta $2001 ; PPU制御レジスタ2
lda #$00
sta $2005 ; スクロールレジスタ
sta $2005
-
jmp -
palette:
db $0f, $28, $01, $28
db $00, $00, $00, $00
db $00, $00, $00, $00
db $00, $00, $00, $00
db $0f, $24, $28, $2c
db $00, $00, $00, $00
db $00, $00, $00, $00
db $00, $00, $00, $00
org $fffa
dw 0 ; NMI VBlank
dw Reset
dw 0 ; IRQ/BRK
incbin "sprite.chr"