UNPKG

nes-emu

Version:

A NES emulator

32 lines (30 loc) 968 B
"use strict"; var _createTestContext = _interopRequireDefault(require("../../helpers/createTestContext")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const should = require("chai").Should(); const ADDRESS = 0x2005; describe("CPU/PPU registers interaction", () => { describe("PPUScroll", () => { let ppu, memory, register; beforeEach(() => { ({ ppu, memory } = (0, _createTestContext.default)()); register = ppu.registers.ppuScroll; }); it("is write-only", () => { register.setValue(123); memory.readAt(ADDRESS).should.equal(0); }); it("writes X first, then Y", () => { memory.writeAt(ADDRESS, 13); memory.writeAt(ADDRESS, 58); // (copy temporal address to current address) ppu.loopy._copyX(); ppu.loopy._copyY(); register.scrolledX(0).should.equal(13); register.scrolledY().should.equal(58); }); }); });