Esempio n. 1
0
        public void SquareWave(long numberOfMachineCycles, CycleNames toCycle,
                               DigitalLevel toLevel, CycleNames maxCycle = CycleNames.T4)
        {
            if (maxCycle < toCycle)
            {
                maxCycle = toCycle;
            }

            for (int machineCycle = 1; machineCycle <= numberOfMachineCycles; machineCycle++)
            {
                for (var cycle = CycleNames.T1; cycle <= toCycle; cycle++)
                {
                    for (var level = DigitalLevel.Low; level <= DigitalLevel.NegEdge; level++)
                    {
                        Output.Write(level);

                        if (machineCycle == numberOfMachineCycles &&
                            cycle == toCycle && level == toLevel)
                        {
                            return;
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        public static void Clock(this CpuZ80 cpu,
                                 CycleNames toCycle, DigitalLevel toLevel)
        {
            var gen   = new SignalGenerator();
            var clock = cpu.Clock.ConnectTo(gen.Output);

            gen.SquareWave(1, toCycle, toLevel);
        }
Esempio n. 3
0
        private void ExecuteCountTest(int machineCycles, CycleNames toCycle, DigitalLevel toLevel)
        {
            var gen = new SignalGenerator();
            var ds  = new DigitalSignal("GenOut");

            ds.OnChanged += Output_OnChanged;
            gen.Output.ConnectTo(ds);

            gen.SquareWave(machineCycles, toCycle, toLevel);
        }
Esempio n. 4
0
        public static DigitalSignalProvider Clock(this CpuZ80 cpu,
                                                  CycleNames toCycle, DigitalLevel toLevel)
        {
            var gen   = new SignalGenerator();
            var clock = cpu.Clock.CreateConnection(gen.Output);

            gen.SquareWave(1, toCycle, toLevel);

            return(clock);
        }
Esempio n. 5
0
 public AutoCompleteInstructionPart(CpuZ80 cpu, MachineCycleNames activeMachineCycle, CycleNames lastCycle)
     : base(cpu, activeMachineCycle)
 {
     _lastCycle = lastCycle;
 }
 public AutoCompleteInstructionPart(Die die, MachineCycleNames activeMachineCycle, CycleNames lastCycle)
     : base(die, activeMachineCycle)
 {
     _lastCycle = lastCycle;
 }