Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

MPXplay under CWSDPMI (Users)

posted by ecm Homepage E-mail, Düsseldorf, Germany, 17.10.2010, 01:56

> CWSDPMI r1 shipped with the original Quake (commercial) in 1996, 1.06 (I
> think 1.09 was latest in GPL srcs circa 1999). It's also included in some
> ROMs. And it was used by Norton's Ghost (well, "old" version nowadays). So
> it's for real work. (Okay, so Quake used DJGPP 2.00 beta3 and that had some
> *nix sbrk default memory management which had issues with later versions
> due to changes. But that wasn't his fault, id just decided to abandon DOS
> as quickly as possible, esp. for NT, which didn't fully support DPMI
> correctly and hence wouldn't run DOS Quake.) It's the standard host used
> for DJGPPv2 apps (in stub), at least when not on Windows or OS/2.

From a mail I got from Charles last month, in reply to some bug reports and feature requests (related to DOS TSR stuff):

CWS> First, it's quite interesting to get an email about CWSDPMI. In the
CWS> last 10 years, I have only gotten about a dozen emails, almost all
CWS> more than 7 years ago. At the time it was included as part of
CWS> Symantec Ghost image. That was the last major usage I'm
CWS> aware of.

CWS> I have one outstanding
CWS> request for some VLM window mapping software (>4GB
CWS> testing), but other than that I was convinced that DOS (and
CWS> the need for CWSDPMI) was completely dead.

CWS> I'm well aware of the hackiness of CWSDPMI - it was
CWS> supposed to be an interim solution until MWDPMI was
CWS> completed. But it worked well enough such that I really
CWS> had lost interest in DPMI by 1997. Every few years someone
CWS> would convince me to fix a problem over a vacation.

CM> The code to uninstall CWSDPMI will not check whether it can safely do so.
CM> Instead, it'll always reset the interrupt 2Fh handler to the saved value.

CWS> Lots of other similar issues. It does the same when restoring hardware
CWS> interrupt hooks, and reprogramming the PIC. It grabs all memory and
CWS> doesn't hook Int15 to tell.

CM> The code to uninstall CWSDPMI will, within a short window, execute
CM> code in unallocated DOS memory.

CWS> This was purely for size and simplicity reasons. The 3 lines to do it
CWS> were trivial to write and worked without problems in testing, so since
CWS> it never broke it never was fixed.

CWS> Thanks for the comments. If you review some of the hairy internal code
CWS> around nested interrupts, stack switching, and other things you will
CWS> find much more serious potential problems. The raw mode switching has
CWS> some big holes in the implementation.
CWS>
CWS> If you or someone else is actually still using CWSDPMI for real work,
CWS> let me know !

So please send him a mail if you really want to use CWSDPMI, because I'm not using it. (I did not yet reply to him either. Maybe I'll prepare some patches for a CWSDPMI r8 first, but then again, who uses CWSDPMI?)

---
l

 

Complete thread:

Back to the forum
Board view  Mix view
22762 Postings in 2122 Threads, 402 registered users (1 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum