nes-emu
Version:
A NES emulator
25 lines (24 loc) • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = visibleLines;
var _renderBackground = _interopRequireDefault(require("./renderBackground"));
var _renderSprites = _interopRequireDefault(require("./renderSprites"));
var _constants = _interopRequireDefault(require("../../constants"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/** Runs for each visible scanline. Renders the image. */
function visibleLines(context) {
const {
ppu,
mapper
} = context;
const {
ppuMask
} = ppu.registers;
if (ppu.cycle === _constants.default.PPU_CYCLE_RENDER_BACKGROUND) (0, _renderBackground.default)(context);
if (!ppuMask.isRenderingEnabled) return null;
if (ppu.cycle === _constants.default.PPU_CYCLE_RENDER_SPRITES && ppuMask.showSprites) (0, _renderSprites.default)(context);
ppu.loopy.onLine(ppu.cycle);
return ppu.cycle === _constants.default.PPU_CYCLE_MAPPER_TICK ? mapper.tick() : null;
}