private void IncrementClock(int clocks = 1)
 {
     for (var i = 0; i < clocks; i++)
     {
         _totalClocks += InstructionSchema.FOUR_CYCLES;
         OnClockTick?.Invoke(InstructionSchema.FOUR_CYCLES);
     }
 }
Beispiel #2
0
        private void WaitForNextClockTick()
        {
            if (_running)
            {
                if (_realTime)
                {
                    long currentTicks = _clock.ElapsedTicks;
                    long targetTicks  = currentTicks + _windowsTicksPerZ80Tick;
                    while (_clock.ElapsedTicks < targetTicks)
                    {
                        ;
                    }
                }

                OnClockTick?.Invoke(this, _executingInstructionPackage);
                _emulatedTStates++;
            }
        }
Beispiel #3
0
 private void Timer_Elapsed(object sender, ElapsedEventArgs e)
 {
     _systemClockCounter++;
     OnClockTick?.Invoke(this, e);
 }
 private async void OnTick(object sender, ElapsedEventArgs e)
 {
     await OnClockTick?.Invoke(e.SignalTime);
 }