From bf3e6ab0efbb8c4357852583022b719ddfcf1fd9 Mon Sep 17 00:00:00 2001 From: Ralf Grillenberger Date: Mon, 29 Nov 2010 22:26:32 +0000 Subject: [PATCH] Potentially resize the screen when vertical blanking end changes. Fixes Threat v1.40 Intro. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3662 --- src/hardware/vga_crtc.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/hardware/vga_crtc.cpp b/src/hardware/vga_crtc.cpp index aab7b888..6868f634 100644 --- a/src/hardware/vga_crtc.cpp +++ b/src/hardware/vga_crtc.cpp @@ -302,10 +302,14 @@ void vga_write_p3d5(Bitu port,Bitu val,Bitu iolen) { */ break; case 0x16: /* End Vertical Blank Register */ - crtc(end_vertical_blanking)=val; - /* + if (val!=crtc(end_vertical_blanking)) { + crtc(end_vertical_blanking)=val; + VGA_StartResize(); + } + /* 0-6 Vertical blanking stops when the lower 7 bits of the line counter equals this field. Some SVGA chips uses all 8 bits! + IBM actually says bits 0-7. */ break; case 0x17: /* Mode Control Register */