Revert "vga: add some optional CGA compatibility hacks"

This reverts commit 482f7bf86b.

Signed-off-by: malc <av1474@comtv.ru>
This commit is contained in:
malc 2012-08-27 18:33:20 +04:00
parent 4f213879f3
commit df8002103c
4 changed files with 8 additions and 74 deletions

View file

@ -547,31 +547,14 @@ void vga_ioport_write(void *opaque, uint32_t addr, uint32_t val)
printf("vga: write CR%x = 0x%02x\n", s->cr_index, val);
#endif
/* handle CR0-7 protection */
if (s->cr[VGA_CRTC_V_SYNC_END] & VGA_CR11_LOCK_CR0_CR7) {
if (s->cr_index <= VGA_CRTC_OVERFLOW) {
/* can always write bit 4 of CR7 */
if (s->cr_index == VGA_CRTC_OVERFLOW) {
s->cr[VGA_CRTC_OVERFLOW] =
(s->cr[VGA_CRTC_OVERFLOW] & ~0x10) | (val & 0x10);
}
return;
} else if ((vga_cga_hacks & VGA_CGA_HACK_FONT_HEIGHT) &&
!(s->sr[VGA_SEQ_CLOCK_MODE] & VGA_SR01_CHAR_CLK_8DOTS)) {
/* extra CGA compatibility hacks (not in standard VGA) */
if (s->cr_index == VGA_CRTC_MAX_SCAN &&
val == 7 &&
(s->cr[VGA_CRTC_MAX_SCAN] & 0xf) == 0xf) {
return;
} else if (s->cr_index == VGA_CRTC_CURSOR_START &&
val == 6 &&
(s->cr[VGA_CRTC_MAX_SCAN] & 0xf) == 0xf) {
val = 0xd;
} else if (s->cr_index == VGA_CRTC_CURSOR_END &&
val == 7 &&
(s->cr[VGA_CRTC_MAX_SCAN] & 0xf) == 0xf) {
val = 0xe;
}
if ((s->cr[VGA_CRTC_V_SYNC_END] & VGA_CR11_LOCK_CR0_CR7) &&
s->cr_index <= VGA_CRTC_OVERFLOW) {
/* can always write bit 4 of CR7 */
if (s->cr_index == VGA_CRTC_OVERFLOW) {
s->cr[VGA_CRTC_OVERFLOW] = (s->cr[VGA_CRTC_OVERFLOW] & ~0x10) |
(val & 0x10);
}
return;
}
s->cr[s->cr_index] = val;
@ -1903,10 +1886,7 @@ static void vga_update_display(void *opaque)
/* nothing to do */
} else {
full_update = 0;
if (!(s->ar_index & 0x20) &&
/* extra CGA compatibility hacks (not in standard VGA */
(!(vga_cga_hacks & VGA_CGA_HACK_PALETTE_BLANKING) ||
(s->ar_index != 0 && s->ar_flip_flop))) {
if (!(s->ar_index & 0x20)) {
graphic_mode = GMODE_BLANK;
} else {
graphic_mode = s->gr[VGA_GFX_MISC] & VGA_GR06_GRAPHICS_MODE;