UNPKG

vgm-conv

Version:
31 lines (30 loc) 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AY8910ToYM2608Converter = exports.AY8910ToYM2203Converter = void 0; const vgm_converter_1 = require("./vgm-converter"); const vgm_parser_1 = require("vgm-parser"); class AY8910ToYM2203Converter extends vgm_converter_1.VGMConverter { constructor(from, to, opts) { super(from, { chip: "ym2203", index: from.index, clock: 2, relativeClock: true }); } convertCommand(cmd) { if (cmd instanceof vgm_parser_1.VGMWriteDataCommand && cmd.chip === "ay8910" && cmd.index === this.from.index) { return [cmd.copy({ target: vgm_parser_1.VGMWriteDataTargetId.ym2203 })]; } return [cmd]; } } exports.AY8910ToYM2203Converter = AY8910ToYM2203Converter; class AY8910ToYM2608Converter extends vgm_converter_1.VGMConverter { constructor(from, to, opts) { super(from, { chip: "ym2608", index: from.index, clock: 4, relativeClock: true }); } convertCommand(cmd) { if (cmd instanceof vgm_parser_1.VGMWriteDataCommand && cmd.chip === "ay8910" && cmd.index === this.from.index) { const id = cmd.index == 0 ? vgm_parser_1.VGMWriteDataTargetId.ym2608_p0 : vgm_parser_1.VGMWriteDataTargetId.ym2608_2_p0; return [cmd.copy({ target: id })]; } return [cmd]; } } exports.AY8910ToYM2608Converter = AY8910ToYM2608Converter;