Hi Rugxulo, some CWSDPMI nitpicking and some memory limits coming ;-)

> So DR-DOS 7.03 forcibly needed its own (weird, hybrid, bundled VxD or
> whatever) EMM386, which had its own built-in XMS (so no separate HIMEM
> needed) plus built-in DPMI (so no CWSDPMI needed).

CWSDPMI is both a DPMI host and a DOS extender. So if you run
programs compiled to use it, but are in DR-DOS, you may still
need CWSDPMI, but that could rely on DR-EMM386 for the DPMI
part of the work. The same thing happens when you run such a
program inside Windows or a DOS window of Windows, which also
provide DPMI already :-)

> But it was allegedly limited to 64 MB per task, hardcoded, no matter
> if you incorrectly tried to switch out the XMSv2 (e.g. trying to use
> HIMEMX) or not.

Interesting limitation. EMS, XMS2, XMS3, VCPI, DPMI all have limits,
but if DR-EMM386 claims to support XMS3, it should support > 64MB...

EMS 3.2: Up to 8 MB, one 64 kB page frame with 4 pages of 16 kB
EMS 4: Up to 32 MB? Maps 4 kB and 16 kB pages in your low 1 MB

DPMI: Up to 4 GB, in theory, but see the XMS 3 limitations.
VCPI: Up to 4 GB, in theory, but only up to 4 MB vm86 shared space?

XMS 2: Up to 64 MB, in some cases limited to only 16 or 32 MB
XMS 3: Up to 4 GB, in practice even only 2 or roughly 3 GB

Background: VCPI helps you to take over protected mode for yourself
without breaking too much of the current system state. This is why
Windows does not allow VCPI software to run. Windows itself used a
special interface called GEMMIS to take over memory management for
itself. In other words, it replaced HIMEM and EMM386 on the fly to
have full control in 386 enhanced mode. Which is part of the reason
why that mode has troubles with FreeDOS and non-commercial EMM386.
Windows for Workgroups 3.11 always wants to run in enhanced mode,
you can only run WfW 3.11 in a limited "safe mode" without that.

Fun facts: Some games get confused if you have more than 16 or 32 MB
of RAM reported to them and even Windows 3 has problems above 256 MB,
although you can edit the config to get it working with at most 1 GB,
where even the most modest possible swap calculation sign-overflows.

Also, DOS software only sees limited amounts of memory when you run it
inside Windows 3, old 32 bit Windows versions or even in Vista NTVDM.
Note that this is a per-task limit, so it is not that bad in the end.

If you have 4 GB of physical RAM, you will probably see much less, as
big address space areas are reserved for mapped graphics card memory.

You have to use above-4 GB-aware mainboard, VGA and OS for full 4 GB.
In theory, you could have XMS drivers or DPMI hosts for DOS which let
your software use up to 4 GB per task from a total of more than 4 GB?
I think there is some experimental CWSDPMI which tries to do that...?

> https://www.youtube.com/user/ScorpionsVEVO/videos

Hehe... I have Scorpions' "You and I" on some "snuggle rock" sampler:


> we're just lucky anything works. Games are not high priority

I think they are. I mean people still love their retro games,
while they hopefully use software for multi tasking OS with
network, multiple cores, GUI and 47 TB of RAM at work now ;-)

I hope that my list of memory size limits above is roughly correct!

Cheers, Eric

PS: Cool that you have a 10 in 1 multi-tasker repair shampoo.

What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://sdm.link/zohomanageengine
Freedos-user mailing list

Reply via email to