nes-emu
Version:
A NES emulator
26 lines (24 loc) • 685 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _registers = require("../../registers");
/** Sets frame counter options (e.g. sequence type). */
class APUFrameCounter extends _registers.WriteOnlyInMemoryRegister {
constructor() {
super();
this.addReadOnlyField("interruptInhibitFlag", 6).addReadOnlyField("use5StepSequencer", 7);
}
/** Resets the APU Frame Counter and fires the appropriate callbacks. */
writeAt(__, byte) {
this.setValue(byte);
const {
apu
} = this.context;
apu.frameClockCounter = 0;
apu._onQuarter();
apu._onHalf();
}
}
exports.default = APUFrameCounter;