X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Fdos%2Fmain.c;h=442f343ed2ab7ad5ea4eec71a8e0a2cc397c8f24;hp=ac2ccd2ae9bef017b7fd274ae8683308ae0a971a;hb=757e7697c9a4434df6f3fdf3234de504bb4636bc;hpb=ecc362e702b77d5c1334656e6f4dc9b17abcb767 diff --git a/src/dos/main.c b/src/dos/main.c index ac2ccd2..442f343 100644 --- a/src/dos/main.c +++ b/src/dos/main.c @@ -1,4 +1,5 @@ #include +#include #include "demo.h" #include "keyb.h" #include "timer.h" @@ -8,10 +9,18 @@ static int quit; int main(int argc, char **argv) { + void *vmem; + long fbsize = fb_width * fb_height * fb_bpp / CHAR_BIT; + init_timer(100); kb_init(32); - if(!(fb_pixels = set_video_mode(fb_width, fb_height, fb_bpp))) { + if(!(fb_pixels = malloc(fbsize))) { + fprintf(stderr, "failed to allocate backbuffer\n"); + return 1; + } + + if(!(vmem = set_video_mode(fb_width, fb_height, fb_bpp))) { return 1; } @@ -28,9 +37,13 @@ int main(int argc, char **argv) } if(quit) goto break_evloop; - /*wait_vsync();*/ + mouse_bmask = read_mouse(&mouse_x, &mouse_y); + time_msec = get_msec(); demo_draw(); + + /*wait_vsync();*/ + memcpy(vmem, fb_pixels, fbsize); } break_evloop: