private void IncrementClock(int clocks = 1) { for (var i = 0; i < clocks; i++) { _totalClocks += InstructionSchema.FOUR_CYCLES; OnClockTick?.Invoke(InstructionSchema.FOUR_CYCLES); } }
private void WaitForNextClockTick() { if (_running) { if (_realTime) { long currentTicks = _clock.ElapsedTicks; long targetTicks = currentTicks + _windowsTicksPerZ80Tick; while (_clock.ElapsedTicks < targetTicks) { ; } } OnClockTick?.Invoke(this, _executingInstructionPackage); _emulatedTStates++; } }
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); }