From 869328c6636a19fa62e386a2176ed1b97273d2ed Mon Sep 17 00:00:00 2001 From: Ralf Grillenberger Date: Mon, 19 Oct 2009 16:00:22 +0000 Subject: [PATCH] - read the correct position in the video parameter table, fixes seven spirits of ra title screen - save the data written to the CGA control port Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3486 --- src/ints/int10_modes.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ints/int10_modes.cpp b/src/ints/int10_modes.cpp index 4acd8f00..c74e9ebb 100644 --- a/src/ints/int10_modes.cpp +++ b/src/ints/int10_modes.cpp @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: int10_modes.cpp,v 1.90 2009-09-06 19:25:34 c2woody Exp $ */ +/* $Id: int10_modes.cpp,v 1.91 2009-10-19 16:00:22 h-a-l-9000 Exp $ */ #include @@ -607,8 +607,9 @@ bool INT10_SetVideoMode_OTHER(Bit16u mode,bool clearmem) { RealOff(vparams) + i + crtc_block_index*16) << 8)); if (machine==MCH_CGA) { // mode register - IO_WriteB(crtc_base + 4, real_readb(RealSeg(vparams), - RealOff(vparams) + 4*16 + 24 + mode)); + Bit8u mode_control = real_readb(RealSeg(vparams), RealOff(vparams) + 80 + mode); + IO_WriteB(crtc_base + 4, mode_control); + real_writeb(BIOSMEM_SEG,BIOSMEM_CURRENT_MSR, mode_control); } if (machine==MCH_TANDY) {