;asm6 wclock.asm wclock.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 #$10
-
lda palette, x
sta $2007 ; VRAMアクセスレジスタ
inx
dey
bne -
; ネームテーブル $2000-$23bf
; 属性テーブル $23c0-$23ff
lda #$20
sta $2006 ; VRAMアドレスレジスタ
lda #$00
sta $2006
ldx #$00
-
lda name_t0, x
sta $2007 ; VRAMアクセスレジスタ
inx
bne -
-
lda name_t1, x
sta $2007
inx
bne -
-
lda name_t2, x
sta $2007
inx
bne -
-
lda name_t3, x
sta $2007
inx
bne -
; 表示開始
lda #$08
sta $2000 ; PPU制御レジスタ1
lda #$1e
sta $2001 ; PPU制御レジスタ2
lda #$00
sta $2005 ; スクロールレジスタ
sta $2005
-
jmp -
palette:
db $0f, $15, $11, $28
db $00, $2c, $00, $00
db $00, $2a, $24, $00
db $00, $00, $00, $00
name_t0:
db 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0
db 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0
db ' ','*','*','*',' ','S',' ','H',' ','A',' ','P',' ','R',' ',' ',$be,' ',$b6,' ',$b2,' ',$c4,$de,$b9,' ',$b2,' ','*','*','*',' '
db ' ',$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$e6,' '
db $f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f4,$f0,$f0,$f8,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0
db $f0,$f0,$f0,$f0,$f0,$f0,$f0,$f6,$f0,$f0,$fe,$ff,$f5,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$ff,$f0,$f8,$f4,$fc,$f4,$f0,$f0
db $f0,$f0,$f0,$f0,$f0,$f0,'M','O','S','C','O','W',$fe,$fd,$fc,$fd,$f0,$f8,$f4,$f0,$f0,$fc,$fc,$f8,$f1,$ff,$f6,$f2,$fb,$ff,$f4,$f0
db $f0,$f0,$f0,$fe,$ff,$f4,'0','8',':','0','0',$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fd,$f0,$fa,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$f5,$ff,$f7,$f0
name_t1:
db $f0,$f0,$fa,$f7,$fb,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$f3,$f0,$f8,$ff,$ff,$ff,$ff,$ff,$ff,$f7,$f1,$f7,$f1,$f0
db $f0,$f5,'P','A','R','I','S',$ff,$ff,$ff,$ff,$ff,$ff,$ff,$f7,$f3,$fa,$f1,$f0,'L','.','A','N','G','E','L','S',$fd,$fa,$fd,$fc,$f0
db $f2,$f1,'0','6',':','0','0',$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$f0,$f3,$f0,$f0,$f0,$f1,'2','1',':','0','0',$ff,$ff,$fe,$ff,$ff,$f1
db $f0,$fe,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,'P','E','K','I','N',$f8,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f2,$ff,$ff,$ff,$ff,$ff,$ff,$f3,$f9
db $fa,$f3,$fc,$f1,$fb,$ff,$ff,$ff,$ff,$ff,'1','3',':','0','0',$fe,$f0,$f0,$f0,$f0,$f0,'W','A','S','H','I','N','G','T','O','N',$f0
db $fc,$ff,$ff,$ff,$ff,$fb,$f7,$fb,$ff,$ff,$ff,$ff,$ff,$f4,$f2,'T','O','K','Y','O',$f0,$f0,$f0,$f0,$f0,$f7,'0','0',':','0','0',$f0
db $ff,$ff,$ff,$ff,$ff,$fd,$f7,$f0,$fb,$ff,$fb,$ff,$f7,$f1,$f0,'1','4',':','0','0',$f0,$f0,$f0,$f0,$f0,$f1,$fb,$ff,$f4,$f0,$f0,$f0
db $ff,$ff,$ff,$ff,$ff,$ff,$f4,$f0,$f0,$f1,$f0,$f7,$f0,$f1,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$fb,$ff,$fd,$f4
name_t2:
db $f2,$f1,$fe,$ff,$ff,$f7,$f0,$f0,$f0,$f0,$f2,$f6,$fe,$f0,$f0,$fc,$fc,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f2,$ff,$ff,$ff,$ff
db $f0,$f0,$ff,$ff,$ff,$f5,$f4,$f0,$f0,$f0,$f0,$f2,$f0,$f0,$f8,$f6,$f4,$f1,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,'R','E','O',$ff
db $f0,$f0,$fa,$ff,$ff,$f1,$f5,$f0,$f0,$f0,$f0,$f0,$f0,$fe,$ff,$ff,$ff,$f4,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,'0','2',':','0','0',$ff
db $f0,$f0,$f0,$ff,$f7,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$fb,$ff,$fb,$ff,$f7,$f8,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$fa,$ff,$ff,$f5
db $f0,$f0,'S','.','A','F','R','I','C','A',$f0,$f0,$f0,$fa,$f1,$f0,$fb,$f1,$f4,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f8,$ff,$f7,$f0
db $f0,$f0,'0','7',':','0','0',$f0,$f0,$f0,$f0,$f0,$f0,$f0,'S','Y','D','N','E','Y',$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f7,$f0,$f0
db $f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,'1','5',':','0','0',$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$f3,$f0,$f0
db ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '
name_t3:
db ' ',$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,' '
db $ef,$e2,$ec,$ec,$ec,$e3,$ec,$ec,$ec,$ec,$e3,$ec,$ec,$ec,$ec,$e3,$ec,$ec,$ec,$ec,$e3,$ec,$ec,$ec,$ec,$e3,$ec,$ec,$ec,$ec,$e3,$e7
db 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0
db 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0
db 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0
db 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0
attr_table:
db $55,$55,$55,$55, $55,$55,$55,$55
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 $aa,$aa,$aa,$aa, $aa,$aa,$aa,$aa
db $aa,$aa,$aa,$aa, $aa,$aa,$aa,$aa
org $fffa
dw 0 ; NMI VBlank
dw Reset
dw 0 ; IRQ/BRK
incbin "sample.chr"