UNPKG

nes-emu

Version:

A NES emulator

27 lines (26 loc) 838 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = preLine; var _constants = _interopRequireDefault(require("../../constants")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** Runs on virtual scanline -1, which prepares the PPU for rendering. */ function preLine(_ref) { let { ppu, mapper } = _ref; if (!ppu.registers.ppuMask.isRenderingEnabled) return null; if (ppu.cycle === _constants.default.PPU_CYCLE_CLEAR_FLAGS) { const { ppuStatus } = ppu.registers; ppuStatus.spriteOverflow = 0; ppuStatus.sprite0Hit = 0; ppuStatus.isInVBlankInterval = 0; } ppu.loopy.onPreLine(ppu.cycle); ppu.loopy.onLine(ppu.cycle); return ppu.cycle === _constants.default.PPU_CYCLE_MAPPER_TICK ? mapper.tick() : null; }