Exemplo n.º 1
0
static      vmResult
X_video_resetfromblank(void)
{
	int         x;

	video_updatepalette();
	if (!using_palette)
		vdpcompleteredraw();
	return vmOk;
}
Exemplo n.º 2
0
Arquivo: emu.c Projeto: Aleyr/nesemu2
int emu_mainloop()
{
	u8 *line = (u8*)mem_alloc(512);
	int i,p;
	u64 t,total,frames;

	//initialize the palette in case the rom isnt loaded first
	for(i=0;i<512;i++) {
		if(i < 32 && running == 0)
			video_updatepalette(i,i);
		line[i] = i;
	}

	//begin the main loop
	log_printf("emu_mainloop:  starting main loop...\n");
	total = 0;
	frames = 0;
	while(quit == 0) {
		t = system_gettick();
		system_checkevents();
		input_poll();
		video_startframe();
		if(running && nes->cart) {
			nes_frame();
		}
		else {
			for(i=0;i<240;i++) {
				for(p=0;p<256;p++)
					video_updatepixel(i,p,line[p]);
			}
		}
		video_endframe();
		total += system_gettick() - t;
		frames++;
	}
	log_printf("fps:  %f (%d frames)\n",(double)frames / (double)total * system_getfrequency(),frames);
	mem_free(line);
	return(0);
}