diff -r -u a/hw/cirrus_vga.c b/hw/cirrus_vga.c
--- a/hw/cirrus_vga.c	2010-07-22 14:39:04.000000000 +0200
+++ b/hw/cirrus_vga.c	2010-07-31 22:17:57.000000000 +0200
@@ -1062,6 +1062,13 @@
     line_compare = s->vga.cr[0x18] |
         ((s->vga.cr[0x07] & 0x10) << 4) |
         ((s->vga.cr[0x09] & 0x40) << 3);
+
+    /* Multiply Vertical Registers by Two */
+    if ((s->vga.cr[0x17] & 0x04))
+    {
+        line_compare = line_compare * 2;
+    }
+
     *pline_compare = line_compare;
 }
 
@@ -1134,6 +1141,13 @@
         ((s->cr[0x07] & 0x02) << 7) |
         ((s->cr[0x07] & 0x40) << 3);
     height = (height + 1);
+
+    /* Multiply Vertical Registers by Two */
+    if ((s->cr[0x17] & 0x04))
+    {
+        height = height * 2;
+    }
+
     /* interlace support */
     if (s->cr[0x1a] & 0x01)
         height = height * 2;
