summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-07 20:31:38 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-07 20:31:38 +0000
commiteccabc6ee0da82a3cb6037537c145fae08c23041 (patch)
tree32e0fc8ac5f0e949ac8d167700460705a70e83b0
parentbb058620c3b6bbddb99c9afff956dded7139897b (diff)
downloadqemu-eccabc6ee0da82a3cb6037537c145fae08c23041.tar.gz
vga 9 pixel wide text char fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@713 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--hw/vga.c4
-rw-r--r--hw/vga_template.h16
2 files changed, 10 insertions, 10 deletions
diff --git a/hw/vga.c b/hw/vga.c
index ce1754f75f..f05dd1c575 100644
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -1138,7 +1138,7 @@ static void vga_draw_text(VGAState *s, int full_update)
/* total width & height */
cheight = (s->cr[9] & 0x1f) + 1;
cw = 8;
- if (s->sr[1] & 0x01)
+ if (!(s->sr[1] & 0x01))
cw = 9;
if (s->sr[1] & 0x08)
cw = 16; /* NOTE: no 18 pixel wide */
@@ -1154,7 +1154,7 @@ static void vga_draw_text(VGAState *s, int full_update)
height = (height + 1) / cheight;
}
if (width != s->last_width || height != s->last_height ||
- cw != s->last_cw || cw != s->last_cw) {
+ cw != s->last_cw || cheight != s->last_ch) {
dpy_resize(s->ds, width * cw, height * cheight);
s->last_width = width;
s->last_height = height;
diff --git a/hw/vga_template.h b/hw/vga_template.h
index 810b4b128b..766257c09e 100644
--- a/hw/vga_template.h
+++ b/hw/vga_template.h
@@ -127,14 +127,14 @@ static void glue(vga_draw_glyph9_, DEPTH)(uint8_t *d, int linesize,
else
((uint16_t *)d)[8] = bgcol;
#else
- ((uint32_t *)d)[0] = ((-(font_data >> 7)) & xorcol) ^ bgcol;
- ((uint32_t *)d)[1] = ((-(font_data >> 6) & 1) & xorcol) ^ bgcol;
- ((uint32_t *)d)[2] = ((-(font_data >> 5) & 1) & xorcol) ^ bgcol;
- ((uint32_t *)d)[3] = ((-(font_data >> 4) & 1) & xorcol) ^ bgcol;
- ((uint32_t *)d)[4] = ((-(font_data >> 3) & 1) & xorcol) ^ bgcol;
- ((uint32_t *)d)[5] = ((-(font_data >> 2) & 1) & xorcol) ^ bgcol;
- ((uint32_t *)d)[6] = ((-(font_data >> 1) & 1) & xorcol) ^ bgcol;
- v = ((-(font_data >> 0) & 1) & xorcol) ^ bgcol;
+ ((uint32_t *)d)[0] = (-((font_data >> 7)) & xorcol) ^ bgcol;
+ ((uint32_t *)d)[1] = (-((font_data >> 6) & 1) & xorcol) ^ bgcol;
+ ((uint32_t *)d)[2] = (-((font_data >> 5) & 1) & xorcol) ^ bgcol;
+ ((uint32_t *)d)[3] = (-((font_data >> 4) & 1) & xorcol) ^ bgcol;
+ ((uint32_t *)d)[4] = (-((font_data >> 3) & 1) & xorcol) ^ bgcol;
+ ((uint32_t *)d)[5] = (-((font_data >> 2) & 1) & xorcol) ^ bgcol;
+ ((uint32_t *)d)[6] = (-((font_data >> 1) & 1) & xorcol) ^ bgcol;
+ v = (-((font_data >> 0) & 1) & xorcol) ^ bgcol;
((uint32_t *)d)[7] = v;
if (dup9)
((uint32_t *)d)[8] = v;