7 int fb_width, fb_height;
9 uint16_t *fb_pixels, *vmem;
15 void (*key_event)(int key, int pressed);
17 static struct sprites dbgfont;
20 int init(int argc, char **argv)
22 if(load_sprites(&dbgfont, "data/dbgfont.spr") == -1) {
25 if(intro_init() == -1) {
28 if(menu_init() == -1) {
42 void dbg_print(void *fb, int x, int y, const char *str)
44 uint16_t *dest = (uint16_t*)fb + y * fb_width + x;
49 if(c > ' ' && c < 128) {
50 draw_sprite(dest, fb_width * 2, &dbgfont, c - ' ');
56 void dbg_printf(void *fb, int x, int y, const char *fmt, ...)
58 static char buf[2048];
62 vsprintf(buf, fmt, ap);
65 dbg_print(fb, x, y, buf);
68 void dbg_fps(void *fb)
70 static char fpsbuf[8];
71 static long frame, prev_upd;
72 long msec = time_msec;
77 delta = msec - prev_upd;
80 sprintf(fpsbuf, "%2ld.%1ld", frame >> 10, 10 * (frame & 0x3ff) >> 10);
85 dbg_print(fb, 2, 2, fpsbuf);