Bochs VBE emulation fix
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 29 Apr 2004 19:21:16 +0000 (19:21 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 29 Apr 2004 19:21:16 +0000 (19:21 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@775 c046a42c-6fe2-441c-8c8c-71466251a162

hw/vga.c

index 5838d3f..62c7c40 100644 (file)
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -598,14 +598,15 @@ static void vbe_ioport_write(void *opaque, uint32_t addr, uint32_t val)
                 } else {
                     shift_control = 2;
                     s->sr[4] |= 0x08; /* set chain 4 mode */
+                    s->sr[2] |= 0x0f; /* activate all planes */
                 }
                 s->gr[0x05] = (s->gr[0x05] & ~0x60) | (shift_control << 5);
                 s->cr[0x09] &= ~0x9f; /* no double scan */
-                s->vbe_regs[s->vbe_index] = val;
             } else {
                 /* XXX: the bios should do that */
                 s->bank_offset = 0;
             }
+            s->vbe_regs[s->vbe_index] = val;
             break;
         case VBE_DISPI_INDEX_VIRT_WIDTH:
             {