dma.i65 334 B

12345678910111213141516171819202122
  1. #define hash #
  2. #define f(x) x
  3. #define imm(a) f(hash)a
  4. #define DMA0(mode, len, a_bank, a_addr, b_reg)\
  5. php \
  6. : sep imm($20) : .as \
  7. : rep imm($10) : .xl \
  8. : lda mode \
  9. : sta $4300 \
  10. : ldx a_addr \
  11. : lda a_bank \
  12. : stx $4302 \
  13. : sta $4304 \
  14. : ldx len \
  15. : stx $4305 \
  16. : lda b_reg \
  17. : sta $4301 \
  18. : lda imm($01) \
  19. : sta $420b \
  20. : plp