nes-emu
Version:
A NES emulator
32 lines (30 loc) • 968 B
JavaScript
;
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);
});
});
});