diff options
| author | crecher <crecher@crecher.net> | 2026-10-13 01:13:13 +0200 |
|---|---|---|
| committer | crecher <crecher@crecher.net> | 2026-10-13 01:13:13 +0200 |
| commit | 99cae5a5a37f41f878a84857361eda47910303ba (patch) | |
| tree | 31c8665ca991f95e09e93bb2e6ec91d81d2427ff /nes/bus.go | |
| parent | 96ff6d8eda2ba434682909f4ff4ce350d78b2273 (diff) | |
| download | gones-99cae5a5a37f41f878a84857361eda47910303ba.tar.gz gones-99cae5a5a37f41f878a84857361eda47910303ba.zip | |
sprites!!!!!!
Diffstat (limited to 'nes/bus.go')
| -rw-r--r-- | nes/bus.go | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -24,6 +24,10 @@ func (n *Console) Read(addr uint16) uint8 { return n.RAM[addr&0x7FF] case addr < 0x4000: // PPU registers, mirrored every 8 bytes return n.PPU.ReadRegister(addr) + case addr == 0x4016: // controller 1 + return n.controllers[0].read() + case addr == 0x4017: // controller 2 + return n.controllers[1].read() case addr >= 0x4020: // cartridge return n.Cart.Mapper.CPURead(addr) default: @@ -37,6 +41,11 @@ func (n *Console) Write(addr uint16, v uint8) { n.RAM[addr&0x7FF] = v case addr < 0x4000: n.PPU.WriteRegister(addr, v) + case addr == 0x4014: // oam dma + n.oamDMA(v) + case addr == 0x4016: // strobe is shared by both controllers + n.controllers[0].setStrobe(v&1 != 0) + n.controllers[1].setStrobe(v&1 != 0) case addr >= 0x4020: n.Cart.Mapper.CPUWrite(addr, v) } |