示例#1
0
        public YM2610B(int chipID, string initialPartName)
            : base(chipID, initialPartName)
        {
            _Name = "YM2610B";
            _ShortName = "OPNB";
            _ChMax = 19;

            Frequency = 8000000;
            Ch = new clsChannel[ChMax];
            setPartToCh(Ch, initialPartName);
            foreach (clsChannel ch in Ch)
            {
                ch.Type = enmChannelType.FMOPN;
                ch.isSecondary = chipID == 1;
            }

            Ch[2].Type = enmChannelType.FMOPNex;
            Ch[6].Type = enmChannelType.FMOPNex;
            Ch[7].Type = enmChannelType.FMOPNex;
            Ch[8].Type = enmChannelType.FMOPNex;

            Ch[9].Type = enmChannelType.SSG;
            Ch[10].Type = enmChannelType.SSG;
            Ch[11].Type = enmChannelType.SSG;

            Ch[12].Type = enmChannelType.ADPCMA;
            Ch[13].Type = enmChannelType.ADPCMA;
            Ch[14].Type = enmChannelType.ADPCMA;
            Ch[15].Type = enmChannelType.ADPCMA;
            Ch[16].Type = enmChannelType.ADPCMA;
            Ch[17].Type = enmChannelType.ADPCMA;

            Ch[18].Type = enmChannelType.ADPCMB;
        }
示例#2
0
        public RF5C164(int chipID, string initialPartName)
            : base(chipID, initialPartName)
        {
            _Name = "RF5C164";
            _ShortName = "RF5C";
            _ChMax = 8;

            Frequency = 12500000;
            Ch = new clsChannel[ChMax];
            setPartToCh(Ch, initialPartName);
            foreach (clsChannel ch in Ch)
            {
                ch.Type = enmChannelType.PCM;
                ch.isSecondary = chipID == 1;
            }
        }
示例#3
0
        public SN76489(int chipID, string initialPartName)
            : base(chipID, initialPartName)
        {
            _Name = "SN76489";
            _ShortName = "DCSG";
            _ChMax = 4;

            Frequency = 3579545;
            Ch = new clsChannel[ChMax];
            setPartToCh(Ch,initialPartName);
                foreach (clsChannel ch in Ch)
                {
                    ch.Type = enmChannelType.DCSG;
                    ch.isSecondary = chipID == 1;
                }
                Ch[3].Type = enmChannelType.DCSGNOISE;
        }
示例#4
0
        public YM2612(int chipID, string initialPartName)
            : base(chipID, initialPartName)
        {
            _Name = "YM2612";
            _ShortName = "OPN2";
            _ChMax = 9;

            Frequency = 7670454;
            Ch = new clsChannel[ChMax];
            setPartToCh(Ch, initialPartName);
            foreach (clsChannel ch in Ch)
            {
                ch.Type = enmChannelType.FMOPN;
                ch.isSecondary = chipID == 1;
            }

            Ch[2].Type = enmChannelType.FMOPNex;
            Ch[5].Type = enmChannelType.FMPCM;
            Ch[6].Type = enmChannelType.FMOPNex;
            Ch[7].Type = enmChannelType.FMOPNex;
            Ch[8].Type = enmChannelType.FMOPNex;
        }
示例#5
0
        public void setPartToCh(clsChannel[] Ch, string val)
        {
            if (val == null || (val.Length != 1 && val.Length != 2)) return;

            string f = val[0].ToString();
            string r = (val.Length == 2) ? val[1].ToString() : " ";

            for (int i = 0; i < Ch.Length; i++)
            {
                if (Ch[i] == null) Ch[i] = new clsChannel();
                Ch[i].Name = string.Format("{0}{1}{2:00}", f, r, i + 1);
            }

            //checkDuplication(fCh);
        }