.p816 .smart .include "macros.inc" .include "registers.inc" .include "keys.inc" .include "header.asm" .segment "ZEROPAGE" nmi_count: .res 2 .segment "BSS" oam_lo_buffer: .res 512 oam_hi_buffer: .res 32 oam_buffer_end: .segment "CODE" VRAM_CHARS = $0000 VRAM_BG1 = $1000 start: .include "init.asm" ; Set up the color palette stz CGADD ; Color 0 - black lda #$00 sta CGDATA lda #$00 sta CGDATA ; Color 1 - red lda #$1f sta CGDATA lda #$00 sta CGDATA ; Color 2 - green lda #$e0 sta CGDATA lda #$03 sta CGDATA ; Color 3 - blue lda #$00 sta CGDATA lda #$7c sta CGDATA ; Set up sprite palette lda #128 ;sprite palettes begin at cgdata index 128 sta CGADD stz CGDATA stz CGDATA lda #$1f sta CGDATA stz CGDATA ; Graphics mode 0, 8x8 tiles stz BGMODE ; Set BG1 and tile map and character data lda #>VRAM_BG1 sta BG1SC lda #VRAM_CHARS sta BG12NBA ; Load character data into VRAM lda #$80 sta VMAIN ldx #VRAM_CHARS stx VMADDL ; Set DMA source flags lda #%00000001 sta DMAP0 ; DMA destination VMDATAL register lda #