diff options
Diffstat (limited to 'nes/bus.go')
| -rw-r--r-- | nes/bus.go | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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) } |