; This file is part of the snescom-asm demo - a demo of how to build a SNES program. ; See http://bisqwit.iki.fi/source/snescom.html for details. #include "memmap.i65" #include "dma.i65" #define TILE_ADDR_REG_VAL(addr, scsize) \ (((addr & $FC00) >> 8) + scsize) #define BMAP_ADDR_REG_VAL(addr, addr2) \ (((addr & $F000) >> 12) | (((addr2 & $F000) >> 12) << 4)) ; NMI - called on VBlank NMI_ROUTINE: sep #$20 : .as rep #$10 : .xl lda #$00 pha plb lda $4210 ldx #BG1_TILE_BASE stx $2116 DMA0(#$01, #36*64, #^BG1_TILE_BUF, #!BG1_TILE_BUF, #$18) lda #$01 sta isr_done rtl ; IRQ - called when triggered IRQ_ROUTINE: sep #$20 : .as lda $4211 ;Acknowledge irq rtl