From e15fd29ed680da268d796cb7cfc7e175fd542708 Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Sat, 22 May 2021 08:41:15 +0300 Subject: [PATCH] vbe: print rgb masks/shifts to the log --- src/dos/gfx.c | 9 ++++++++- src/rbench.c | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/dos/gfx.c b/src/dos/gfx.c index ef05921..7e5db98 100644 --- a/src/dos/gfx.c +++ b/src/dos/gfx.c @@ -203,8 +203,15 @@ void *set_video_mode(int idx, int nbuf) pgsize = vm->ysz * vm->pitch; fbsize = pgcount * pgsize; + if(vm->bpp > 8) { + printf("rgb mask: %x %x %x\n", (unsigned int)vm->rmask, + (unsigned int)vm->gmask, (unsigned int)vm->bmask); + printf("rgb shift: %d %d %d\n", vm->rshift, vm->gshift, vm->bshift); + } printf("pgcount: %d, pgsize: %d, fbsize: %d\n", pgcount, pgsize, fbsize); - printf("phys addr: %p\n", (void*)vm->fb_addr); + if(vm->fb_addr) { + printf("phys addr: %p\n", (void*)vm->fb_addr); + } fflush(stdout); if(vm->fb_addr) { diff --git a/src/rbench.c b/src/rbench.c index a506fe5..8836f67 100644 --- a/src/rbench.c +++ b/src/rbench.c @@ -70,6 +70,15 @@ void cleanup(void) { } +#ifdef NOZOOM +#define XORRGB(x, y, dx, dy, zoom, r, g, b) \ + do { \ + int xor = (((x) - fb_width/2) + (dx)) ^ (((y) - fb_height/2) + (dy)); \ + (r) = xor >> 2; \ + (g) = xor >> 1; \ + (b) = xor; \ + } while(0) +#else #define XORRGB(x, y, dx, dy, zoom, r, g, b) \ do { \ int xor = ((((x) - fb_width/2) * (zoom) >> 16) + (dx)) ^ ((((y) - fb_height/2) * (zoom) >> 16) + (dy)); \ @@ -77,17 +86,23 @@ void cleanup(void) (g) = xor >> 1; \ (b) = xor; \ } while(0) +#endif void redraw(void) { - int i, j, r, g, b, xoffs, yoffs, zoom; + int i, j, r, g, b, xoffs, yoffs; +#ifndef NOZOOM + int zoom; +#endif unsigned char *fbptr; uint16_t *fbptr16; uint32_t *fbptr32; xoffs = COS(time_msec >> 2) * fb_width >> 14; yoffs = SIN(time_msec >> 1) * fb_height >> 15; +#ifndef NOZOOM zoom = (SIN(time_msec >> 3) << 1) + 0x18000; +#endif switch(fb_bpp) { case 15: -- 1.7.10.4