+ fb_rmask = vidmode->rmask;
+ fb_gmask = vidmode->gmask;
+ fb_bmask = vidmode->bmask;
+ fb_rshift = vidmode->rshift;
+ fb_gshift = vidmode->gshift;
+ fb_bshift = vidmode->bshift;
+
+ init_timer(100);
+
+ for(;;) {
+ while(kbhit()) {
+ int c = getch();
+ if(c == 27) goto end;
+ key_event(c, 1);
+ }
+
+ time_msec = get_msec();
+ num_frames++;
+ redraw();
+
+ blit_frame(framebuf, 0);
+ }
+
+end:
+ set_text_mode();
+ cleanup_video();
+ stop_logger();
+
+ if(num_frames) {
+ printf("%d frames in %d msec\n", num_frames, time_msec);
+ printf("avg framerate: %.1f fps\n", (10000 * num_frames / time_msec) / 10.0f);
+ }