UNPKG

fma-snes65816

Version:
71 lines (48 loc) 2.25 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _fma = require('fma'); var _BufferSizeModifier = require('./BufferSizeModifier'); var _BufferSizeModifier2 = _interopRequireDefault(_BufferSizeModifier); var _ChecksumCalculator = require('./ChecksumCalculator'); var _ChecksumCalculator2 = _interopRequireDefault(_ChecksumCalculator); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Assembler = function (_PluginAssembler) { (0, _inherits3.default)(Assembler, _PluginAssembler); function Assembler() { (0, _classCallCheck3.default)(this, Assembler); return (0, _possibleConstructorReturn3.default)(this, (Assembler.__proto__ || Object.getPrototypeOf(Assembler)).apply(this, arguments)); } (0, _createClass3.default)(Assembler, [{ key: 'getName', value: function getName() { return 'SNES 65816'; } }, { key: 'postProcess', value: function postProcess(result) { var applicationAddress = result.getSymbols().get('.rom_header_location'); var romAddress = result.getRomCalculator().getRomAddress(applicationAddress); var headerOffset = result.getRomCalculator().getRomOffset(romAddress); var sizeFixer = new _BufferSizeModifier2.default(); var buffer = sizeFixer.resize(result.getBinary(), headerOffset); var calculator = new _ChecksumCalculator2.default(); calculator.calculate(buffer, headerOffset); result = result.clone(); result.binary = buffer; return result; } }]); return Assembler; }(_fma.PluginAssembler); exports.default = Assembler; //# sourceMappingURL=Assembler.js.map