(address uint16)
| 78 | } |
| 79 | |
| 80 | func (mem *ppuMemory) Read(address uint16) byte { |
| 81 | address = address % 0x4000 |
| 82 | switch { |
| 83 | case address < 0x2000: |
| 84 | return mem.console.Mapper.Read(address) |
| 85 | case address < 0x3F00: |
| 86 | mode := mem.console.Cartridge.Mirror |
| 87 | return mem.console.PPU.nameTableData[MirrorAddress(mode, address)%2048] |
| 88 | case address < 0x4000: |
| 89 | return mem.console.PPU.readPalette(address % 32) |
| 90 | default: |
| 91 | log.Fatalf("unhandled ppu memory read at address: 0x%04X", address) |
| 92 | } |
| 93 | return 0 |
| 94 | } |
| 95 | |
| 96 | func (mem *ppuMemory) Write(address uint16, value byte) { |
| 97 | address = address % 0x4000 |
nothing calls this directly
no test coverage detected