11 static void draw(void);
13 static struct video_mode *vmode;
16 int main(int argc, char **argv)
18 struct video_mode *vmodes;
21 init_logger("game.log");
26 if(init_video() == -1) {
29 vmodes = video_modes();
31 if((vmidx = match_video_mode(640, 480, 16)) == -1) {
34 if(!(vmem = set_video_mode(vmidx, 1))) {
37 vmode = vmodes + vmidx;
39 fb_width = vmode->xsz;
40 fb_height = vmode->ysz;
41 fb_size = (vmode->xsz * vmode->bpp / 8) * vmode->ysz;
47 while((key = kb_getkey()) != -1) {
48 if(key == 27) goto break_evloop;
51 time_msec = get_msec();
62 static void draw(void)
65 uint16_t *pptr = vmem;
67 for(i=0; i<fb_height; i++) {
68 for(j=0; j<fb_width; j++) {
69 int chess = ((i >> 4) & 1) == ((j >> 4) & 1);
70 *pptr++ = chess ? 0xff00 : 0x00ff;
75 void swap_buffers(void *pixels)
78 memcpy(vmem, pixels, fb_size);