From 99cae5a5a37f41f878a84857361eda47910303ba Mon Sep 17 00:00:00 2001 From: crecher Date: Tue, 13 Oct 2026 01:13:13 +0200 Subject: sprites!!!!!! --- nes/dma.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 nes/dma.go (limited to 'nes/dma.go') diff --git a/nes/dma.go b/nes/dma.go new file mode 100644 index 0000000..ebdbcea --- /dev/null +++ b/nes/dma.go @@ -0,0 +1,19 @@ +package nes + +// im too lazy to write an explanation so heres the nesdev page +// https://www.nesdev.org/wiki/DMA#OAM_DMA +func (n *Console) oamDMA(page uint8) { + base := uint16(page) << 8 + for i := uint16(0); i < 256; i++ { + n.PPU.WriteRegister(0x2004, n.Read(base+i)) + } + n.dmaPending = true +} + +func (n *Console) dmaStallCycles() int { + stall := 513 + if n.CPU.Cycles&1 == 1 { + stall++ + } + return stall +} -- cgit v1.2.3