UNPKG

nes-emu

Version:

A NES emulator

44 lines (42 loc) 2.13 kB
"use strict"; 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;