diff --git a/src/nv_hw.c b/src/nv_hw.c index 2786e0d..87bb93c 100644 --- a/src/nv_hw.c +++ b/src/nv_hw.c @@ -297,6 +297,13 @@ bool NVLockVgaCrtcs(NVPtr pNv, bool lock) { bool waslocked = !NVReadVgaCrtc(pNv, 0, NV_CIO_SR_LOCK_INDEX); + uint8_t cr11 = NVReadVgaCrtc(pNv, 1, NV_CIO_CR_VRE_INDEX); + if (lock) + cr11 |= 0x80; + else + cr11 &= ~0x80; + NVWriteVgaCrtc(pNv, 1, NV_CIO_CR_VRE_INDEX, cr11); + NVLockVgaCrtc(pNv, 0, lock); /* NV11 has independently lockable crtcs, except when tied */ if (pNv->NVArch == 0x11 && !(nvReadMC(pNv, NV_PBUS_DEBUG_1) & (1 << 28)))