Ejemplo n.º 1
0
Archivo: run.cpp Proyecto: Plombo/dega
// Run a frame (with or without sound)
int RunFrame(int Draw,short *pSound)
{
  if (!NoInput) InputGet();
  MastDrawDo=Draw; pMsndOut=pSound;

  // Run frame
  EmuFrame();

  RunPreChangeStatus();
  // Update status window
  StatusCount--;
  if (StatusCount==0)
  {
    if (StatusMode==STATUS_AUTO) ShowWindow(hFrameStatus,SW_HIDE);
    SetWindowText(hFrameStatus,"");
    StatusCount=-1;
  }
  RunPostChangeStatus();

  if (Draw) DispDraw();

  PythonPostFrame();

  return 0;
}
Ejemplo n.º 2
0
static void EmuThreadFunc() {
	setCurrentThreadName("Emu");

	while (true) {
		switch ((EmuThreadState)emuThreadState) {
		case EmuThreadState::START_REQUESTED:
			emuThreadState = EmuThreadState::RUNNING;
			/* fallthrough */
		case EmuThreadState::RUNNING:
			EmuFrame();
			break;
		case EmuThreadState::PAUSE_REQUESTED:
			emuThreadState = EmuThreadState::PAUSED;
			/* fallthrough */
		case EmuThreadState::PAUSED:
			sleep_ms(1);
			break;
		default:
		case EmuThreadState::QUIT_REQUESTED:
			emuThreadState = EmuThreadState::STOPPED;
			ctx->StopThread();
			return;
		}
	}
}
Ejemplo n.º 3
0
static int DoGame()
{
  if(fastForward) { PicoSkipFrame+=1; PicoSkipFrame&=7; }
  else PicoSkipFrame=0;

  if(frameStep==1)      return 0;
  else if(frameStep==3) frameStep=1;

  EmuFrame();
  emu_frame++;

  if (Inp.held[7]==1) LoopMode=2; // Right thumb = Toggle Menu

  return 0;
}