nes-emu
Version:
A NES emulator
20 lines (19 loc) • 677 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = vBlankLine;
var _constants = _interopRequireDefault(require("../../constants"));
var _constants2 = require("../../cpu/constants");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/** Runs on scanline 241, which starts the VBlank period and can trigger NMIs. */
function vBlankLine(_ref) {
let {
ppu
} = _ref;
if (ppu.cycle === _constants.default.PPU_CYCLE_VBLANK) {
ppu.registers.ppuStatus.isInVBlankInterval = 1;
if (ppu.registers.ppuCtrl.generateNmiAtStartOfVBlank) return _constants2.interrupts.NMI;
}
return null;
}