Commit aba35a6cd1c70f8cb4b9a08d6685eafe76725cee
1 parent
cbbccffc
Fix VGA issue introduced by r6349
Thanks to Robert Riebisch for bisection git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6858 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
10 additions
and
2 deletions
hw/vga.c
| ... | ... | @@ -1619,6 +1619,16 @@ static void vga_draw_graphic(VGAState *s, int full_update) |
| 1619 | 1619 | s->double_scan = double_scan; |
| 1620 | 1620 | } |
| 1621 | 1621 | |
| 1622 | + if (shift_control == 0) { | |
| 1623 | + if (s->sr[0x01] & 8) { | |
| 1624 | + disp_width <<= 1; | |
| 1625 | + } | |
| 1626 | + } else if (shift_control == 1) { | |
| 1627 | + if (s->sr[0x01] & 8) { | |
| 1628 | + disp_width <<= 1; | |
| 1629 | + } | |
| 1630 | + } | |
| 1631 | + | |
| 1622 | 1632 | depth = s->get_bpp(s); |
| 1623 | 1633 | if (s->line_offset != s->last_line_offset || |
| 1624 | 1634 | disp_width != s->last_width || |
| ... | ... | @@ -1660,7 +1670,6 @@ static void vga_draw_graphic(VGAState *s, int full_update) |
| 1660 | 1670 | full_update |= update_palette16(s); |
| 1661 | 1671 | if (s->sr[0x01] & 8) { |
| 1662 | 1672 | v = VGA_DRAW_LINE4D2; |
| 1663 | - disp_width <<= 1; | |
| 1664 | 1673 | } else { |
| 1665 | 1674 | v = VGA_DRAW_LINE4; |
| 1666 | 1675 | } |
| ... | ... | @@ -1669,7 +1678,6 @@ static void vga_draw_graphic(VGAState *s, int full_update) |
| 1669 | 1678 | full_update |= update_palette16(s); |
| 1670 | 1679 | if (s->sr[0x01] & 8) { |
| 1671 | 1680 | v = VGA_DRAW_LINE2D2; |
| 1672 | - disp_width <<= 1; | |
| 1673 | 1681 | } else { |
| 1674 | 1682 | v = VGA_DRAW_LINE2; |
| 1675 | 1683 | } | ... | ... |