correct window size in banked vbe, and added doublebuffered test
[vidsys] / drv_vbe.c
index d639417..e09ca4d 100644 (file)
--- a/drv_vbe.c
+++ b/drv_vbe.c
@@ -356,14 +356,16 @@ static void blitfb_lfb(void *fb, int pitch)
 
 static void blitfb_banked(void *fb, int pitch)
 {
-       int sz, offs, pending;
+       int sz, offs, pending, winsz;
        unsigned char *pptr = fb;
 
+       winsz = cur_mi->win_size << 10;
+
        /* assume initial window offset at 0 */
        offs = 0;
        pending = cur_pgsize;
        while(pending > 0) {
-               sz = pending > 65536 ? 65536 : pending;
+               sz = pending > winsz ? winsz : pending;
                memcpy((void*)0xa0000, pptr, sz);
                pptr += sz;
                pending -= sz;