Exemple #1
0
bool vsync_switchmode(int hz)
{
	int changed_height = changed_prefs.gfx_monitor.gfx_size.height;
	struct amigadisplay *ad = &adisplays;
	
	if (hz >= 55)
		hz = 60;
	else
		hz = 50;

	if (hz == 50 && currVSyncRate == 60) {
	  // Switch from NTSC -> PAL
		switch (changed_height) {
		case 200: changed_height = 240; break;
		case 216: changed_height = 262; break;
		case 240: changed_height = 270; break;
		case 256: changed_height = 270; break;
		case 262: changed_height = 270; break;
		case 270: changed_height = 270; break;
		}
	}	else if (hz == 60 && currVSyncRate == 50)	{
	  // Switch from PAL -> NTSC
		switch (changed_height) {
		case 200: changed_height = 200; break;
		case 216: changed_height = 200; break;
		case 240: changed_height = 200; break;
		case 256: changed_height = 216; break;
		case 262: changed_height = 216; break;
		case 270: changed_height = 240; break;
		}
	}

  if(hz != currVSyncRate) {
    currVSyncRate = hz;
  	black_screen_now();
    fpscounter_reset();
    time_per_frame = time_for_host_hz_frames / (hz);
  }
  
  if(!ad->picasso_on && !ad->picasso_requested_on)
  	changed_prefs.gfx_monitor.gfx_size.height = changed_height;

	return true;
}
Exemple #2
0
bool target_graphics_buffer_update(void)
{
	bool rate_changed = false;
  
	if (currprefs.gfx_monitor.gfx_size.height != changed_prefs.gfx_monitor.gfx_size.height) {
		update_display(&changed_prefs);
		rate_changed = true;
	}

	if (rate_changed) {
		black_screen_now();
		fpscounter_reset();
		time_per_frame = time_for_host_hz_frames / (currprefs.chipset_refreshrate);
	}

  reset_sync();

	return true;
}
Exemple #3
0
bool target_graphics_buffer_update (void)
{
  bool rate_changed = SetVSyncRate(currprefs.chipset_refreshrate);
  
  if(currprefs.gfx_size.height != changed_prefs.gfx_size.height)
  {
    update_display(&changed_prefs);
    rate_changed = true;
  }

	if(rate_changed)
  {
  	black_screen_now();
    fpscounter_reset();
    time_per_frame = 1000 * 1000 / (currprefs.chipset_refreshrate);
  }

  return true;
}