From 66c850027e2af59662cf1da1421f38bbaf0e8279 Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Wed, 3 Sep 2003 20:31:49 +0000 Subject: [PATCH] Only set LFB address if it changes. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1225 --- src/hardware/vga_crtc.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/hardware/vga_crtc.cpp b/src/hardware/vga_crtc.cpp index ebddee0e..ad7becd1 100644 --- a/src/hardware/vga_crtc.cpp +++ b/src/hardware/vga_crtc.cpp @@ -423,12 +423,16 @@ void write_p3d5(Bit32u port,Bit8u val) { if clear 7MCLKs */ case 0x59: /* Linear Address Window Position High */ - vga.s3.la_window=(vga.s3.la_window&0x00ff) | (val << 8); - VGA_StartUpdateLFB(); + if ((vga.s3.la_window&0xff00) ^ (val << 8)) { + vga.s3.la_window=(vga.s3.la_window&0x00ff) | (val << 8); + VGA_StartUpdateLFB(); + } break; case 0x5a: /* Linear Address Window Position Low */ - vga.s3.la_window=(vga.s3.la_window&0xff00) | val; - VGA_StartUpdateLFB(); + if ((vga.s3.la_window&0x00ff) ^ val) { + vga.s3.la_window=(vga.s3.la_window&0xff00) | val; + VGA_StartUpdateLFB(); + } break; case 0x5D: /* Extended Horizontal Overflow */ if ((val & vga.s3.ex_hor_overflow) ^ 3) {