aboutsummaryrefslogtreecommitdiff
path: root/nes/bus.go
diff options
context:
space:
mode:
Diffstat (limited to 'nes/bus.go')
-rw-r--r--nes/bus.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/nes/bus.go b/nes/bus.go
index eeb96b0..af4f242 100644
--- a/nes/bus.go
+++ b/nes/bus.go
@@ -22,6 +22,8 @@ func (n *Console) Read(addr uint16) uint8 {
switch {
case addr < 0x2000: // internal RAM and mirrors
return n.RAM[addr&0x7FF]
+ case addr < 0x4000: // PPU registers, mirrored every 8 bytes
+ return n.PPU.ReadRegister(addr)
case addr >= 0x4020: // cartridge
return n.Cart.Mapper.CPURead(addr)
default:
@@ -33,6 +35,8 @@ func (n *Console) Write(addr uint16, v uint8) {
switch {
case addr < 0x2000:
n.RAM[addr&0x7FF] = v
+ case addr < 0x4000:
+ n.PPU.WriteRegister(addr, v)
case addr >= 0x4020:
n.Cart.Mapper.CPUWrite(addr, v)
}