Пример #1
0
        private void RunMainLoop()
        {
            while (!m_exitMainLoop)
            {
                m_sync.WaitForClockA();

                if (NmiOnVblank)
                {
                    Cpu.GenerateNMI();
                }

                VblankInProcess = true;

                //wait for 20 scanlines (256*20)
                m_sync.IncrementClockB(5120);
                m_sync.WaitForClockA();

                if (BackgroundEnabled && SpritesEnabled)
                {
                    VramAddressRegister = TempVramAddressRegister;
                }

                InRangeObjectEvaluation(0);
            }
        }