Japheth

Germany (South), 21.10.2024, 05:54 |
WDe v1.1 (Announce) |
Hello,
a few additions and fixes for WDe: https://github.com/Baron-von-Riedesel/WDe/releases/tag/v1.1 --- MS-DOS forever! |
Zyzzle
21.10.2024, 11:08
@ Japheth
|
WDe v1.1 |
> Hello,
>
> a few additions and fixes for WDe:
> https://github.com/Baron-von-Riedesel/WDe/releases/tag/v1.1
Thanks very much for the update. WDe continues to be a very useful program, even more so since it can work with images files. |
roytam
07.01.2025, 09:10
@ Japheth
|
WDe v1.1 |
> Hello,
>
> a few additions and fixes for WDe:
> https://github.com/Baron-von-Riedesel/WDe/releases/tag/v1.1
Off-topic: regarding your SVGA256.drv patch, someone found that it is incomplete: https://wuffs.org/blog/windows-3x-graphics |
Japheth

Germany (South), 07.01.2025, 17:03 (edited by Japheth, 10.01.2025, 06:49)
@ roytam
|
VBESVGA.drv |
> Off-topic: regarding your SVGA256.drv patch, someone found that it is
> incomplete: https://wuffs.org/blog/windows-3x-graphics
Cool! I can't even remember why and when I wrote this stuff (must have been in 1999 or so, long after I abandoned Win3x ).
There's an interesting VESA driver (https://github.com/PluMGMK?tab=repositories) mentioned in the article, but I couldn't get it to work on my primary system. It makes Win31 exit during startup, without any error messages.
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". --- MS-DOS forever! |
roytam
14.01.2025, 15:08
@ Japheth
|
VBESVGA.drv |
> > Off-topic: regarding your SVGA256.drv patch, someone found that it is
> > incomplete: https://wuffs.org/blog/windows-3x-graphics
>
> Cool! I can't even remember why and when I wrote this stuff (must have been
> in 1999 or so, long after I abandoned Win3x ).
>
> There's an interesting VESA driver
> (https://github.com/PluMGMK?tab=repositories) mentioned in the
> article, but I couldn't get it to work on my primary system. It makes Win31
> exit during startup, without any error messages.
>
> 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".
since there are some code changes since 10 Jan, I can't tell if the problem you described still persists or not.
https://github.com/PluMGMK/vbesvga.drv/commits/master/
and of course you can create an issue about it: https://github.com/PluMGMK/vbesvga.drv/issues |
Japheth

Germany (South), 14.01.2025, 20:23
@ roytam
|
VBESVGA.drv |
> since there are some code changes since 10 Jan, I can't tell if the problem
> you described still persists or not.
> https://github.com/PluMGMK/vbesvga.drv/commits/master/
>
> and of course you can create an issue about it:
> https://github.com/PluMGMK/vbesvga.drv/issues
It's "fixed" in the meantime; was actually my fault. My graphics card's dysfunctional PMID support can be disabled and the driver is still fast enough. Nice tool! --- MS-DOS forever! |
ecm

Düsseldorf, Germany, 16.01.2025, 19:14
@ Japheth
|
VBESVGA.drv - PM code trying to write using code selector |
> 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 |