Example #1
0
 public EFCDRV(PMD pmd, PW pw, x86Register r, Func <ChipDatum, int> ppsdrv)
 {
     this.pmd    = pmd;
     this.pw     = pw;
     this.r      = r;
     this.ppsdrv = ppsdrv;
 }
Example #2
0
 public PPZDRV(PMD pmd, PW pw, x86Register r, Pc98 pc98, Func <ChipDatum, int> ppz8em, byte[][] pcmData)
 {
     this.pmd     = pmd;
     this.pw      = pw;
     this.r       = r;
     this.pc98    = pc98;
     this.ppz8em  = ppz8em;
     this.pcmData = pcmData;
 }
Example #3
0
        public PCMDRV(PMD pmd, PW pw, x86Register r, Pc98 pc98, PPZDRV ppzdrv)
        {
            this.pmd    = pmd;
            this.pw     = pw;
            this.r      = r;
            this.pc98   = pc98;
            this.ppzdrv = ppzdrv;

            SetupCmdtbl();
        }
Example #4
0
        public void Init(
            MmlDatum[] srcBuf,
            Action <ChipDatum> opnaWrite, Action <long, int> opnaWaitSend,
            PMDDotNETOption addtionalPMDDotNETOption, string[] addtionalPMDOption,
            Func <string, Stream> appendFileReaderCallback
            , Func <ChipDatum, int> ppz8Write, Func <ChipDatum, int> ppsdrvWrite, Func <ChipDatum, int> p86Write)
        {
            if (srcBuf == null || srcBuf.Length < 1)
            {
                return;
            }

            Driver.srcBuf = srcBuf;

            WriteOPNA    = opnaWrite;
            WaitSendOPNA = opnaWaitSend;
            WritePPZ8    = ppz8Write;
            WritePPSDRV  = ppsdrvWrite;
            WriteP86     = p86Write;

            work = new PW();
            GetTags();
            addtionalPMDDotNETOption.PPCHeader = CheckPPC(appendFileReaderCallback);

            work.SetOption(addtionalPMDDotNETOption, addtionalPMDOption);
            work.timer = new OPNATimer(44100, 7987200);

            //PPZ8em ppz8em = addtionalPMDDotNETOption.ppz8em;
            //PPSDRV ppsdrv = addtionalPMDDotNETOption.ppsdrv;

            pmd = new PMD(
                srcBuf,
                WriteRegister,
                work,
                appendFileReaderCallback,
                WritePPZ8,
                WritePPSDRV,
                WriteP86
                );

            if (!string.IsNullOrEmpty(pmd.pw.ppcFile))
            {
                pmd.pcmload.pcm_all_load(pmd.pw.ppcFile);
            }
            if (!string.IsNullOrEmpty(pmd.pw.ppz1File) || !string.IsNullOrEmpty(pmd.pw.ppz2File))
            {
                pmd.pcmload.ppz_load(pmd.pw.ppz1File, pmd.pw.ppz2File);
            }
            if (!string.IsNullOrEmpty(pmd.pw.ppsFile))
            {
                pmd.pcmload.pps_load(pmd.pw.ppsFile);
            }
        }
Example #5
0
 public PCMLOAD(PMD pmd, PW pw, x86Register r, Pc98 pc98
                , Func <ChipDatum, int> ppz8em
                , Func <ChipDatum, int> ppsdrv
                , Func <ChipDatum, int> p86em
                , Func <string, Stream> appendFileReaderCallback)
 {
     this.pmd    = pmd;
     this.pw     = pw;
     this.r      = r;
     this.pc98   = pc98;
     this.ppz8em = ppz8em;
     this.ppsdrv = ppsdrv;
     this.p86em  = p86em;
     this.appendFileReaderCallback = appendFileReaderCallback;
 }