(address uint16, value byte)
| 94 | } |
| 95 | |
| 96 | func (mem *ppuMemory) Write(address uint16, value byte) { |
| 97 | address = address % 0x4000 |
| 98 | switch { |
| 99 | case address < 0x2000: |
| 100 | mem.console.Mapper.Write(address, value) |
| 101 | case address < 0x3F00: |
| 102 | mode := mem.console.Cartridge.Mirror |
| 103 | mem.console.PPU.nameTableData[MirrorAddress(mode, address)%2048] = value |
| 104 | case address < 0x4000: |
| 105 | mem.console.PPU.writePalette(address%32, value) |
| 106 | default: |
| 107 | log.Fatalf("unhandled ppu memory write at address: 0x%04X", address) |
| 108 | } |
| 109 | } |
| 110 | |
| 111 | // Mirroring Modes |
| 112 |
nothing calls this directly
no test coverage detected