VBESVGA.drv - PM code trying to write using code selector (Announce)
> EDIT:: turned out that on this system the VBE 3.0 protected-mode
> interface is broken. The PMID structure exists, but the code isn't
> protected-mode compatible:
>
> mov ax,cs
> mov ds,ax
> ....
> mov [3xxx],ax
> mov [3yyy],ax
>
>
> There's an option in VBESVGA.drv to disable the usage of this feature
> (PMIDcheck=disable), but apparently it "doesn't work".
I was puzzled for a moment. But I assume your example is meant to show that the code uses a Code Selector (copied from the running CS) for DS, then tries to write to memory using a segmented address which implies the use of DS. As I have noticed before, this is a fundamental difference between Real/Virtual 86 Mode and Protected Mode: In PM, writing using a code selector is never allowed. Copying from CS implies that the selector must be a valid code selector.
---
l
Complete thread:
- WDe v1.1 - Japheth, 21.10.2024, 05:54 (Announce)
- WDe v1.1 - Zyzzle, 21.10.2024, 11:08
- WDe v1.1 - roytam, 07.01.2025, 09:10
- VBESVGA.drv - Japheth, 07.01.2025, 17:03
- VBESVGA.drv - roytam, 14.01.2025, 15:08
- VBESVGA.drv - Japheth, 14.01.2025, 20:23
- VBESVGA.drv - PM code trying to write using code selector - ecm, 16.01.2025, 19:14
- VBESVGA.drv - roytam, 14.01.2025, 15:08
- VBESVGA.drv - Japheth, 07.01.2025, 17:03