Пример #1
0
        public async void ExecuteCycle()
        {
            //while (ComputerRunning)
            {
                _displayUnit.BorderColor = (_IOdataBus as Bus16Bit).BorderColor;
                while (_z80.tstates < _z80.event_next_event)
                {
                    _beeperDevice.cpuTacts = _z80.tstates;
                    _z80.Cycle();
                }

                _z80.tstates -= _z80.event_next_event;
                _z80.Interrupt();
                _flashCount++;
                if (_flashCount >= 50)
                {
                    _flashCount = 0;
                    _displayUnit.ReverseFlash();
                }
                AudioSamples = _beeperDevice.AudioSamples;
                _beeperDevice.Initialize();
            }
        }