$2006: PPUADDR
(value byte)
| 320 | |
| 321 | // $2006: PPUADDR |
| 322 | func (ppu *PPU) writeAddress(value byte) { |
| 323 | if ppu.w == 0 { |
| 324 | // t: ..FEDCBA ........ = d: ..FEDCBA |
| 325 | // t: .X...... ........ = 0 |
| 326 | // w: = 1 |
| 327 | ppu.t = (ppu.t & 0x80FF) | ((uint16(value) & 0x3F) << 8) |
| 328 | ppu.w = 1 |
| 329 | } else { |
| 330 | // t: ........ HGFEDCBA = d: HGFEDCBA |
| 331 | // v = t |
| 332 | // w: = 0 |
| 333 | ppu.t = (ppu.t & 0xFF00) | uint16(value) |
| 334 | ppu.v = ppu.t |
| 335 | ppu.w = 0 |
| 336 | } |
| 337 | } |
| 338 | |
| 339 | // $2007: PPUDATA (read) |
| 340 | func (ppu *PPU) readData() byte { |