nes-emu
Version:
A NES emulator
44 lines (42 loc) • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "LoopyRegister", {
enumerable: true,
get: function () {
return _LoopyRegister.default;
}
});
exports.PPURegisterSegment = void 0;
var _PPUCtrl = _interopRequireDefault(require("./PPUCtrl"));
var _PPUMask = _interopRequireDefault(require("./PPUMask"));
var _PPUStatus = _interopRequireDefault(require("./PPUStatus"));
var _OAMAddr = _interopRequireDefault(require("./OAMAddr"));
var _OAMData = _interopRequireDefault(require("./OAMData"));
var _PPUScroll = _interopRequireDefault(require("./PPUScroll"));
var _PPUAddr = _interopRequireDefault(require("./PPUAddr"));
var _PPUData = _interopRequireDefault(require("./PPUData"));
var _OAMDMA = _interopRequireDefault(require("./OAMDMA"));
var _LoopyRegister = _interopRequireDefault(require("./LoopyRegister"));
var _memory = require("../../memory");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/** A collection of all the CPU-mapped PPU registers. */
class PPURegisterSegment {
constructor(context) {
this.ppuCtrl = new _PPUCtrl.default().loadContext(context); // $2000
this.ppuMask = new _PPUMask.default().loadContext(context); // $2001
this.ppuStatus = new _PPUStatus.default().loadContext(context); // $2002
this.oamAddr = new _OAMAddr.default().loadContext(context); // $2003
this.oamData = new _OAMData.default().loadContext(context); // $2004
this.ppuScroll = new _PPUScroll.default().loadContext(context); // $2005
this.ppuAddr = new _PPUAddr.default().loadContext(context); // $2006
this.ppuData = new _PPUData.default().loadContext(context); // $2007
this.oamDma = new _OAMDMA.default().loadContext(context); // $4014
}
/** Creates a memory segment with the first 8 registers ($2000-$2007). */
toMemory() {
return _memory.WithCompositeMemory.createSegment([this.ppuCtrl, this.ppuMask, this.ppuStatus, this.oamAddr, this.oamData, this.ppuScroll, this.ppuAddr, this.ppuData]);
}
}
exports.PPURegisterSegment = PPURegisterSegment;