示例#1
0
        private void OPNBWrite(int ChipID, ChipDatum dat)
        {
            //Log.WriteLine(LogLevel.TRACE, string.Format("FM P{2} Out:Adr[{0:x02}] val[{1:x02}]", (int)dat.address, (int)dat.data, dat.port));
            //Console.WriteLine("FM P{2} Out:Adr[{0:x02}] val[{1:x02}]", (int)dat.address, (int)dat.data, dat.port);
            outDatum od = null;

            if (dat.addtionalData != null)
            {
                if (dat.addtionalData is musicDriverInterface.MmlDatum)
                {
                    musicDriverInterface.MmlDatum md = (musicDriverInterface.MmlDatum)dat.addtionalData;
                    if (md.linePos != null)
                    {
                        md.linePos.srcMMLID = filename;
                    }
                    od = new outDatum(md.type, md.args, md.linePos, (byte)md.dat);
                }
            }

            //if (od != null && od.linePos != null)
            //{
            //Console.WriteLine("{0}", od.linePos.col);
            //}

            //chipRegister.YM2608SetRegister(od, (long)dat.time, 0, dat.port, dat.address, dat.data);
            chipRegister.YM2610SetRegister(od, count, ChipID, dat.port, dat.address, dat.data);
        }
示例#2
0
        public MmlDatum Copy()
        {
            MmlDatum ret = new MmlDatum();

            ret.type    = this.type;
            ret.type    = this.type;
            ret.args    = this.args;
            ret.linePos = this.linePos;
            ret.dat     = this.dat;

            return(ret);
        }
示例#3
0
        private void OPMInitialWrite(int ChipID, ChipDatum dat)
        {
            if (!initPhase)
            {
                OPMWrite(ChipID, dat);
                return;
            }

            outDatum od = null;

            if (dat.addtionalData is musicDriverInterface.MmlDatum)
            {
                musicDriverInterface.MmlDatum md = (musicDriverInterface.MmlDatum)dat.addtionalData;
                if (md.linePos != null)
                {
                    md.linePos.srcMMLID = filename;
                }
                od = new outDatum(md.type, md.args, md.linePos, (byte)md.dat);
            }

            SoundManager.PackData p = new SoundManager.PackData(od, chipRegister.YM2151[ChipID], EnmDataType.Block, dat.address, dat.data, null);
            pd[ChipID + 4].Add(p);
        }