Commit f87fc09b15bb73874b812ab82e96105ef6c7a2ba

Authored by malc
1 parent 2d6f8971

Fix dots per clock value, cleanup and "optimize"

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5338 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 9 additions and 10 deletions
hw/vga.c
@@ -192,7 +192,7 @@ static void vga_precise_update_retrace_info(VGAState *s) @@ -192,7 +192,7 @@ static void vga_precise_update_retrace_info(VGAState *s)
192 192
193 clocking_mode = (s->sr[0x01] >> 3) & 1; 193 clocking_mode = (s->sr[0x01] >> 3) & 1;
194 clock_sel = (s->msr >> 2) & 3; 194 clock_sel = (s->msr >> 2) & 3;
195 - dots = (s->msr & 1) ? 9 : 8; 195 + dots = (s->msr & 1) ? 8 : 9;
196 196
197 chars_per_sec = hz[clock_sel] / dots; 197 chars_per_sec = hz[clock_sel] / dots;
198 198
@@ -213,12 +213,10 @@ static void vga_precise_update_retrace_info(VGAState *s) @@ -213,12 +213,10 @@ static void vga_precise_update_retrace_info(VGAState *s)
213 r->hend = r->hstart + hretr_end_char + 1; 213 r->hend = r->hstart + hretr_end_char + 1;
214 r->htotal = htotal_chars; 214 r->htotal = htotal_chars;
215 215
  216 +#if 0
216 printf("hz=%f\n", 217 printf("hz=%f\n",
217 - (double) ticks_per_sec / (r->ticks_per_char * r->total_chars));  
218 -#if 0 /* def DEBUG_RETRACE */  
219 - printf("hz=%f\n",  
220 - (double) ticks_per_sec / (r->ticks_per_char * r->total_chars));  
221 printf ( 218 printf (
  219 + "hz=%f\n"
222 "htotal = %d\n" 220 "htotal = %d\n"
223 "hretr_start = %d\n" 221 "hretr_start = %d\n"
224 "hretr_skew = %d\n" 222 "hretr_skew = %d\n"
@@ -232,6 +230,7 @@ static void vga_precise_update_retrace_info(VGAState *s) @@ -232,6 +230,7 @@ static void vga_precise_update_retrace_info(VGAState *s)
232 "dots = %d\n" 230 "dots = %d\n"
233 "ticks/char = %lld\n" 231 "ticks/char = %lld\n"
234 "\n", 232 "\n",
  233 + (double) ticks_per_sec / (r->ticks_per_char * r->total_chars),
235 htotal_chars, 234 htotal_chars,
236 hretr_start_char, 235 hretr_start_char,
237 hretr_skew_chars, 236 hretr_skew_chars,
@@ -265,11 +264,11 @@ static uint8_t vga_precise_retrace(VGAState *s) @@ -265,11 +264,11 @@ static uint8_t vga_precise_retrace(VGAState *s)
265 264
266 if (cur_line >= r->vstart && cur_line <= r->vend) { 265 if (cur_line >= r->vstart && cur_line <= r->vend) {
267 val |= ST01_V_RETRACE | ST01_DISP_ENABLE; 266 val |= ST01_V_RETRACE | ST01_DISP_ENABLE;
268 - }  
269 -  
270 - cur_line_char = cur_char % r->htotal;  
271 - if (cur_line_char >= r->hstart && cur_line_char <= r->hend) {  
272 - val |= ST01_DISP_ENABLE; 267 + } else {
  268 + cur_line_char = cur_char % r->htotal;
  269 + if (cur_line_char >= r->hstart && cur_line_char <= r->hend) {
  270 + val |= ST01_DISP_ENABLE;
  271 + }
273 } 272 }
274 273
275 return val; 274 return val;