diff options
| author | Miquel Sabaté Solà <msabate@suse.com> | 2023-12-03 07:45:53 +0100 |
|---|---|---|
| committer | Miquel Sabaté Solà <msabate@suse.com> | 2023-12-03 07:45:53 +0100 |
| commit | dd7a4efc643c20c56b845aa11af1fec4b0760d92 (patch) | |
| tree | b3e213c7ba4dbff04691f41bd80975bfd1eb600e /include/ppu.s | |
| download | aoc2023.nes-dd7a4efc643c20c56b845aa11af1fec4b0760d92.tar.gz aoc2023.nes-dd7a4efc643c20c56b845aa11af1fec4b0760d92.zip | |
First day of advent of code
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
Diffstat (limited to 'include/ppu.s')
| -rw-r--r-- | include/ppu.s | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/ppu.s b/include/ppu.s new file mode 100644 index 0000000..23fd978 --- /dev/null +++ b/include/ppu.s @@ -0,0 +1,27 @@ +.segment "CODE" + +.scope PPU + CONTROL = $2000 + MASK = $2001 + STATUS = $2002 + SCROLL = $2005 + ADDRESS = $2006 + DATA = $2007 +.endscope + +.macro PPU_ADDR address + lda #.HIBYTE(address) + sta PPU::ADDRESS + lda #.LOBYTE(address) + sta PPU::ADDRESS +.endmacro + +;; WRITE_PPU_DATA is a macro that will write into PPU::ADDRESS the given address +;; and into PPU::DATA the given byte value. +.macro WRITE_PPU_DATA address, value + bit PPU::STATUS + + PPU_ADDR address + lda #value + sta PPU::DATA +.endmacro |
