UNPKG

broken-neees

Version:

A really broken NEEES emulator that introduces glitches and random bugs on purpose!

40 lines (39 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _byte = _interopRequireDefault(require("../lib/byte")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class FlagsRegister { constructor() { this.c = false; this.z = false; this.i = false; this.d = false; this.v = false; this.n = false; } getValue() { return _byte.default.bitfield(this.c, this.z, this.i, this.d, 0, 1, this.v, this.n); } setValue(value) { this.c = _byte.default.getFlag(value, 0); this.z = _byte.default.getFlag(value, 1); this.i = _byte.default.getFlag(value, 2); this.d = _byte.default.getFlag(value, 3); this.v = _byte.default.getFlag(value, 6); this.n = _byte.default.getFlag(value, 7); } updateZero(value) { this.z = value === 0; } updateNegative(value) { this.n = _byte.default.isNegative(value); } updateZeroAndNegative(value) { this.updateZero(value); this.updateNegative(value); } } exports.default = FlagsRegister;