Esempio n. 1
0
        public void BizFrameAdvance(IEnumerable <string> buttons)
        {
            Lagged     = true;
            DriveLight = false;

            Keyboard.SetKeys(buttons);

            //frame begins at vsync.. beginning of vblank
            while (Video.IsVBlank)
            {
                /*
                 * var sb = new System.Text.StringBuilder();
                 * sb.AppendFormat("{0} ", Cpu);
                 * for (int i = 0; i < 256; i++)
                 *      sb.AppendFormat("{0:x2} ", Memory.Read(i));
                 * tw.WriteLine(sb.ToString());*/
                Events.HandleEvents(Cpu.Execute());
            }
            //now, while not vblank, we're in a frame
            while (!Video.IsVBlank)
            {
                /*
                 * var sb = new System.Text.StringBuilder();
                 * sb.AppendFormat("{0} ", Cpu);
                 * for (int i = 0; i < 256; i++)
                 *      sb.AppendFormat("{0:x2} ", Memory.Read(i));
                 * tw.WriteLine(sb.ToString()); */

                Events.HandleEvents(Cpu.Execute());
            }
        }
Esempio n. 2
0
        private void Run() // machine thread
        {
            Initialize();
            Reset();
            LoadState();

            _debugService.WriteMessage("Running machine");
            State = MachineState.Running;
            do
            {
                do
                {
                    Events.HandleEvents(Cpu.Execute());
                }while (State == MachineState.Running);

                if (State == MachineState.Pausing)
                {
                    _pauseEvent.Set();
                    _unpauseEvent.WaitOne();
                }
            }while (State != MachineState.Stopping);

            SaveState();
            Uninitialize();
        }
Esempio n. 3
0
 public void BizFrameAdvance()
 {
     Services.GetService <KeyboardService>().Update();
     Services.GetService <GamePortService>().Update();
     //frame begins at vsync.. beginning of vblank
     while (Video.IsVBlank)
     {
         Events.HandleEvents(Cpu.Execute());
     }
     //now, while not vblank, we're in a frame
     while (!Video.IsVBlank)
     {
         Events.HandleEvents(Cpu.Execute());
     }
 }