X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Rugxulo Newsgroups: comp.os.msdos.djgpp Subject: Re: D. Borca's old ELF fork: mirror needed, DPMI cross-referencing Date: Mon, 14 Dec 2009 22:05:52 -0800 (PST) Organization: http://groups.google.com Lines: 88 Message-ID: <767d4dff-4750-4897-877a-4970450b81d5@g26g2000yqe.googlegroups.com> References: <5e9570db-ab42-4639-8be0-fa379184a4f7 AT o10g2000yqa DOT googlegroups DOT com> <83ocmunw2f DOT fsf AT gnu DOT org> <200911222338 DOT nAMNc3F4029885 AT delorie DOT com> <200911232318 DOT nANNIKok011648 AT delorie DOT com> <45c9cb3b-fae5-4b4c-9b06-bed5c0931015 AT p8g2000yqb DOT googlegroups DOT com> <200912142351 DOT nBENpwZf002663 AT delorie DOT com> NNTP-Posting-Host: 65.13.115.246 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1260857152 18925 127.0.0.1 (15 Dec 2009 06:05:52 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Tue, 15 Dec 2009 06:05:52 +0000 (UTC) Complaints-To: groups-abuse AT google DOT com Injection-Info: g26g2000yqe.googlegroups.com; posting-host=65.13.115.246; posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.33 Safari/532.0,gzip(gfe),gzip(gfe) Bytes: 5856 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hi, On Dec 14, 8:00=A0pm, "Rod Pemberton" wrote: > "DJ Delorie" wrote in message > > news:200912142351 DOT nBENpwZf002663 AT delorie DOT com... > > > That's an impressive list. =A0How many of those implemented DPMI 1.0 ? > > (not that it matters any more, sadly) AFAIK, the only "full" 1.0 server that is freeware is DPMIONE. It's also the descendant of (payware) 386Max, which also supported it. However, I think even DPMIONE omits some optional stuff (TSRs). > I didn't cross-reference _all_ of them - just _many_ of them. =A0It seems > "many" to me is about 50%. =A0I cross-referenced 16 that are DPMI hosts, = 2 > that aren't DPMI hosts (e.g., Pharlap 386|DOS extender, Novell DPMS), 2 t= hat > use DPMI but aren't DPMI hosts (e.g., DJGPP, OpenWatcom compilers), 2 tha= t > are the DPMI spec's. =A0I didn't bother to cross reference the other 16. = =A0FYI, > most of those 16 are near the bottom of the list. =A0I couldn't locate co= pies > of some of the older ones, especially Pharlap and Qualitas. =A0I deemed m= any > of these as too obscure, specialized, incomplete, non-DPMI, undocumented,= or > non-English. =A0There are probably far more out there. =A0There had to be= some > hosts that went with many C compilers of the early 90's. =A0E.g., what ho= sts > did Borland, Zortech, etc. use? Didn't Borland use Ergo / A.I. Architects?? BTW, Zortech / Symantec / Digital Mars all have a common history, and from looking at the Digital Mars website, it seems to only now support X32 and PharLap (if memory serves ... I was just reading this yesterday). N.B. The original Wolfenstein 3D sources come with two .EXEs, one 16- bit real mode and one 16-bit pmode (Borland, requiring DPMI16BI.OVL, RTM.EXE), but I can't seem to get the latter to run at all. Okay, I didn't try *that* hard, but quite a few attempts in various ways didn't yield any results. (Heck, I even found an old old Perl 4 compile called Perl32, using 32RTM / DPMI32VM.OVL, but even that didn't seem to want to work on Windows despite alleged support.) > Of the 16 DPMI hosts that I looked at, the hosts which support DPMI 1.0 > functions varies by DPMI function... =A0The most complete is DPMIONE. =A0= But, > it's missing a couple, like 0C00, 0C01. =A0DOS4G, DPMIONE, and HDPMI > (Japheth's HX) are most commonly listed on the 1.0 functions. =A0DOSBOX a= nd > CWSDPMI are listed on a few too. =A0For 0801, I have ten hosts listed: > Causeway, DOS/32A, DOS4G, DOS4G/W, DOSBOX, DPMIONE, HDPMI, PMODEDJ, PMODE= W, > WDOSX. =A0It looks like five of those are associated with either DJGPP or > OpenWatcom or etc. C compilers. =A0Overall 1.0 support, I'd say, is minim= al. > 0.9 support is far more complete. =A0I haven't compared them for 0.9 > completeness. =A0But, a quick glance shows some 0.9 functions aren't wide= ly > implemented either: 0B00, 0B01, 0B02, 0B03, etc. Most of them were just meant to be "useful enough", i.e. not full implementations (e.g. just what the compiler needed). And obviously Windows had the biggest impact by only supporting 0.9. Also, as you've noticed, many are buggy (this is complicated stuff, dare I say it!). OS/2, which I am not anywhere near familiar with, supposedly supports DPMI 0.95, i.e. halfway between 0.9 and 1.0. HDPMI supports some 1.0 stuff, but even that can (has to) be turned off for some apps (e.g. old games). It's a slippery slope, either you keep old broken behavior or improve it, but either way something will break. Sadly, giving up entirely seems to be the path of least resistence. :-( MOSS and Swallow are also interesting, but the latter never seemed to work for me (even the examples). I confess to never trying Digital Mars yet, but it's X32 can supposedly handle 3 GB of RAM (although maybe not work at all under modern Windows, meh). P.S. Actually, I wish DJ would mirror both Josh Turpin's old "cross ELF" suite (xlink.com etc.) as well as MOSS (ELF-based) and my compile of GCC for it. At least MOSS is GPL (although useless for DJGPP), cross-ELF seems to be LGPL and built with DJGPP, but I'm not sure it directly uses it or not (been a while, and I never took that close a look).