05/06/2006 05:09 PM 4,229,952 bnu216e.zip
06/19/2005 12:08 PM 134,953 bnu216s3.zip
05/07/2006 12:21 PM 697,662 djdev2e4.zip
05/07/2006 12:19 PM 191,079 djelf204.zip
05/06/2006 05:21 PM 7,781 djelftst.zip
03/16/2007 02:53 PM 105,567 ELF.txt
05/07/2006 12:10 PM 503,373 elfpie.zip
05/07/2006 08:53 PM 1,979,352 gcc400e.zip
05/03/2006 09:11 PM 66,547 gcc400s3.zip
05/03/2006 09:22 PM 67,321 gcc410s3.zip
05/07/2006 08:54 PM 2,612,781 gpp400e.zip
03/16/2007 02:53 PM 4,917 HOWTO.txt
03/16/2007 02:54 PM 1,009 readme.txt
03/16/2007 04:08 PM 977 readme2.txt
03/16/2007 02:53 PM 812 TODO.txt
DJ's server sounds like a good place.
Agreed.
On Nov 22, 5:38 pm, DJ Delorie <d...@delorie.com> wrote:
> > DJ's server sounds like a good place.
>
> Agreed.
I'm a bit surprised, honestly, but anyways ...
"Your file has been saved and can now be downloaded 10 times. It will
be deleted after 90 days without download."
1. Download Link: Click here to download file (10 MB)
http://rapidshare.com/files/311265316/djelf.zip.html
MD5: FAF710128223C00B446DC86BAA84709E
On Nov 23, 5:18 pm, DJ Delorie <d...@delorie.com> wrote:
> Got it.
>
> ftp://ftp.delorie.com/pub/djgpp/djelf/
Could you also consider mirroring one other file? Same author (Daniel
Borca), different tool, but it's also useful for DJGPP:
http://rugxulo.googlepages.com/d3x-090h.zip
DPMI host DOS extender for DJGPPv2, DOS extender for OpenWatcom, and
pure assembly apps. It's built via GCC + NASM.
A quick search on Google, Yahoo!, and Bing shows no other location
mirroring it except my site. While I'm sure somebody else has it, I
don't want to risk it being lost! :-/
I have a copy on my PC only. If the WayBackMachine has, it didn't come up
for me. Both Yahoo and Google seemed to have flushed their caches in the
past month or two. Lots of archived stuff (which I use to consistently test
the quality of their returned results) no longer comes up in their searches.
This has happened at least three times before. I think they do it
periodicly or they periodically have problems... So, while ""d3x-090h.zip"
only comes up on your website currently, it may come up somewhere else 3 to
6 months from now. What you could do is post it as an attachment in one of
those DOS forums you post to, instead of posting a link to the file on your
website. Then, there is a copy on that forum's website.
RP
On Dec 13, 7:26 pm, DJ Delorie <d...@delorie.com> wrote:
>
> Those sources are not free software...
Maybe not, but it's almost definitely "good enough" for most people
here.
" Software is provided `as is' and without any warranty; there is no
warranty
of any kind, either expressed or implied, including, but not limited
to, the
implied warranties of merchantability and fitness for a particular
purpose.
The author of the Software explicitly lays no claim to, and
asserts no
rights over, any programs using the Extender. Such programs do not
fall under
this licence at all, and may be placed under any licence.
Software is freely redistributable as long as this licence is kept
with the
Software. Charging a fee for the Software is prohibited.
Software, or parts thereof, may be incorporated into other free
software
(that may be obtained free of charge) without requiring permission
from the
author, as long as those parts of the Software that are used remain
under this
licence and as long as due credit is given to the author of the
Software in
the resulting work.
Modified forms of the Software may be created and distributed,
as long as
the resulting work remains under this licence, as long as the
modified form of
the Software is distributed with documentation which still gives
credit to the
original author of the Software, as long as the modified form of the
Software
is distributed with a clear statement that it is not the original
form of the
Software as distributed by the author, and as long as the author is
informed
of this action.
Software, or parts thereof, may be incorporated into other
software which
is not free (for which a fee is charged) as long as permission is
granted from
the author of the Software. The author reserves the right to grant
permission
only for a fee, which may at his option take the form of royalty
payments. The
author also reserves the right to refuse to grant permission if he
deems it
necessary.
No other licence applies to the Software, and nothing else
grants you any
permission to copy, modify, sublicence or distribute the Software in
any way."
> ... d3x-090h.zip
>
> DPMI host DOS extender for DJGPPv2, DOS extender for OpenWatcom, and
> pure assembly apps. It's built via GCC + NASM.
>
That part of your post to comp.os.msdos.djgpp, made me think about other
DPMI information. I cross referenced the implemented DPMI calls of many
DPMI hosts (and other DOS extenders). I cross referenced them *personal
reference*, so I have *no intention* of releasing the info any time soon.
Sorry. But, I may be able to help someone else locate and cross-reference
for a public document by providing the names of the authors:
DPMI 0.9 spec.
DPMI 1.0 spec.
MS Windows 9x "console"
DJGPP <dpmi.h>
CWSDPMI Charles Sandmann
PMODEDJ Charles Sandmann, DJ Delorie, Matthias Grimrath, and Thomas Pytel
OPENWATCOM v1.3 "dpmi.h"
DOS4GW Tenberry Software (Rational Systems)
DOS4G Tenberry Software
PMODEW Charles Scheffold and Thomas Pytel
CAUSEWAY Michael Devore
DOS32 Adam Seychell
DOS/32A Narech Koumar and others
Wuschel's DOS eXtender Michael Tippach
DPMIONE Bob Smith
DOSBOX
QDPMI Quarterdeck Office Systems
Pro32 DOS Extender Dieter Pawelczak
D3X v0.90 Daniel Borca
Japheth's HX DOS Extender
Pharlap 386|DOS extender
Novell Slacker DPMS
Qualitas 386MAX
Pharlap 286|DOS eXtender
Pharlap Extender Lite
Pharlap TNT
START32 PM stub Thomas Pytel
PMODE Thomas Pytel
Zurenava DOS extender Sergey Belyakov
E.O.S DOS extender Eclipse
386Power Lorenzo Micheletto
DosWin32 Yuri Haron (or Iouri Kharon)
Flashtek X-32 Doug Huffman
Flashtek X-32VM
Raw32 PM stub Daniel Horchner
Microsoft's DOS eXtender (DOSXNT)
U7WIN9x
TinyDPMI
HTH someone,
Rod Pemberton
I agree, I'm just trying to manage the slippery slope between "hosting
djgpp" and "hosting everything on the planet".
I didn't cross-reference _all_ of them - just _many_ of them. It seems
"many" to me is about 50%. I cross-referenced 16 that are DPMI hosts, 2
that aren't DPMI hosts (e.g., Pharlap 386|DOS extender, Novell DPMS), 2 that
use DPMI but aren't DPMI hosts (e.g., DJGPP, OpenWatcom compilers), 2 that
are the DPMI spec's. I didn't bother to cross reference the other 16. FYI,
most of those 16 are near the bottom of the list. I couldn't locate copies
of some of the older ones, especially Pharlap and Qualitas. I deemed many
of these as too obscure, specialized, incomplete, non-DPMI, undocumented, or
non-English. There are probably far more out there. There had to be some
hosts that went with many C compilers of the early 90's. E.g., what hosts
did Borland, Zortech, etc. use?
Of the 16 DPMI hosts that I looked at, the hosts which support DPMI 1.0
functions varies by DPMI function... The most complete is DPMIONE. But,
it's missing a couple, like 0C00, 0C01. DOS4G, DPMIONE, and HDPMI
(Japheth's HX) are most commonly listed on the 1.0 functions. DOSBOX and
CWSDPMI are listed on a few too. For 0801, I have ten hosts listed:
Causeway, DOS/32A, DOS4G, DOS4G/W, DOSBOX, DPMIONE, HDPMI, PMODEDJ, PMODEW,
WDOSX. It looks like five of those are associated with either DJGPP or
OpenWatcom or etc. C compilers. Overall 1.0 support, I'd say, is minimal.
0.9 support is far more complete. I haven't compared them for 0.9
completeness. But, a quick glance shows some 0.9 functions aren't widely
implemented either: 0B00, 0B01, 0B02, 0B03, etc.
Rod Pemberton
On Dec 14, 8:00 pm, "Rod Pemberton" <do_not_h...@nohavenot.cmm> wrote:
> "DJ Delorie" <d...@delorie.com> wrote in message
>
> news:200912142351....@delorie.com...
>
> > That's an impressive list. How 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. It seems
> "many" to me is about 50%. I cross-referenced 16 that are DPMI hosts, 2
> that aren't DPMI hosts (e.g., Pharlap 386|DOS extender, Novell DPMS), 2 that
> use DPMI but aren't DPMI hosts (e.g., DJGPP, OpenWatcom compilers), 2 that
> are the DPMI spec's. I didn't bother to cross reference the other 16. FYI,
> most of those 16 are near the bottom of the list. I couldn't locate copies
> of some of the older ones, especially Pharlap and Qualitas. I deemed many
> of these as too obscure, specialized, incomplete, non-DPMI, undocumented, or
> non-English. There are probably far more out there. There had to be some
> hosts that went with many C compilers of the early 90's. E.g., what hosts
> 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... The most complete is DPMIONE. But,
> it's missing a couple, like 0C00, 0C01. DOS4G, DPMIONE, and HDPMI
> (Japheth's HX) are most commonly listed on the 1.0 functions. DOSBOX and
> CWSDPMI are listed on a few too. For 0801, I have ten hosts listed:
> Causeway, DOS/32A, DOS4G, DOS4G/W, DOSBOX, DPMIONE, HDPMI, PMODEDJ, PMODEW,
> WDOSX. It looks like five of those are associated with either DJGPP or
> OpenWatcom or etc. C compilers. Overall 1.0 support, I'd say, is minimal.
> 0.9 support is far more complete. I haven't compared them for 0.9
> completeness. But, a quick glance shows some 0.9 functions aren't widely
> 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).
Well, it's obviously not a very big file. I just hate the idea that
some useful software would disappear. Sure, I guess *somebody* might
not like the "need permission for commercial use" clause, but I'd be
surprised if such a person existed in modern DOS circles.
The main appeal to me was that a). it works (even with OpenWatcom),
and b). it's very very easy to build with free tools (GCC + NASM).
WDOSX has similar support for both, but it has some bugs and quirks
that annoy me (esp. needing TASM), e.g. can't unpack or remove/replace
the stub.
Don't get me wrong, CWSDPMI is better, no doubt (virtual memory ftw!),
but it needs (minimum) free Turbo C and TASM (which used to be in
Turbo C++ Explorer 2006, but that's not online anymore ...). My
attention span is too short and I'm too wimpy for most stuff, but I
did take a stab at CWSDPMI about nine months ago:
Archive: cws-new.zip
Zip file size: 96694 bytes, number of entries: 27
-rw-a-- 3.0 fat 39786 t- defX 09-Mar-28 22:26 constub.asm
-rw-a-- 3.0 fat 42778 t- defX 09-Mar-28 21:31 CONTROL.asm
-rw-a-- 3.0 fat 2130 t- defX 00-Oct-18 20:46 CONTROL.H
-rw-a-- 3.0 fat 24323 t- defX 00-Oct-08 19:34 CWSDSTUB.ASM
-rw-a-- 3.0 fat 7341 t- defX 00-Oct-01 14:28 CWSPARM.C
-rw-a-- 3.0 fat 12987 t- defX 09-Mar-28 21:35 DALLOC.ASM
-rw-a-- 3.0 fat 428 t- defX 94-Dec-02 15:10 DOUTILS.ASM
-rw-a-- 3.0 fat 13835 t- defX 97-Oct-15 23:10 DPMISIM.ASM
-rw-a-- 3.0 fat 3169 t- defX 08-Jul-31 21:57 EHDRFIX.C
-rw-a-- 3.0 fat 108044 t- defX 09-Mar-28 21:36 EXPHDLR.ASM
-rw-a-- 3.0 fat 1352 t- defX 96-Jun-15 16:24 GDT.INC
-rw-a-- 3.0 fat 913 t- defX 96-Jun-15 16:22 GOTYPES.H
-rwxa-- 3.0 fat 2400 t- defX 09-Mar-28 23:03 make-cws.bat
-rw-a-- 3.0 fat 3515 t- defX 09-Mar-28 22:46 MAKEFILE
-rw-a-- 3.0 fat 11666 t- defX 08-Aug-18 23:25 MSWITCH.ASM
-rw-a-- 3.0 fat 48949 t- defX 09-Mar-28 21:36 PAGING.ASM
-rw-a-- 3.0 fat 1494 t- defX 96-Jun-15 16:24 SEGDEFS.INC
-rw-a-- 3.0 fat 6472 t- defX 00-Oct-04 18:43 START.ASM
-rw-a-- 3.0 fat 10878 t- defX 97-Oct-19 21:44 TABLES.ASM
-rw-a-- 3.0 fat 1307 t- defX 96-Jun-15 16:24 TSS.INC
-rw-a-- 3.0 fat 1282 t- defX 96-Jun-15 16:25 UNLOAD.ASM
-rw-a-- 3.0 fat 5361 t- defX 09-Mar-28 21:30 UTILS.ASM
-rw-a-- 3.0 fat 34303 t- defX 09-Mar-28 21:37 VALLOC.ASM
-rw-a-- 3.0 fat 4026 t- defX 99-Nov-14 16:35 VCPI.ASM
-rw-a-- 3.0 fat 415 t- defX 94-Nov-14 20:26 VCPI.INC
-rw-a-- 3.0 fat 31332 t- defX 09-Mar-28 21:36 VDS.ASM
-rw-a-- 3.0 fat 2347 t- defX 97-Oct-06 22:57 XMS.ASM
27 files, 422833 bytes uncompressed, 94106 bytes compressed: 77.7%
And here's what the .BAT says:
@echo off
if "%DJGPP%"=="" echo DJGPP needed only for EHDRFIX.EXE and
CWSPARAM.EXE.
if "%DJGPP%"=="" echo TC++ works but isn't FOSS, so I'm trying to
avoid it.
if "%DJGPP%"=="" goto end
goto begin
---------------------------------------------------------------------------
This is still not perfect conversion, but for now it at least works!!
No longer needs TC++ (used it to make C -> ASM), but ...
+ needs TASM for half the .ASM files (can't be too hard to use JWasm
here)
+ needs TLINK for linking .OBJs to the main .EXEs (standalone and
stub)
+ needs JWasm for the .ASMs converted from C srcs (via TC++ 1.01)
+ needs LZASM for CWSDSTUB.ASM ("ideal", TASM32 5.3 doesn't work ???)
+ needs DJGPP only for EHDRFIX.EXE and CWSPARAM.EXE
Future: only require JWasm (or NASM?) + WLINK (or Warplink?) + DJGPP
-- rugxulo _AT_ gmail _DOT_ com
-- Sunday, March 29, 2009 3:53
---------------------------------------------------------------------------
:begin
if exist cwsd*.exe del cwsd*.exe
for %%a in (cwsparam ehdrfix) do if exist %%a.exe del %%a.exe
for %%a in (map rng obj) do if exist *.%%a del *.%%a
echo 3 > 3.rng
tasm32 /mx /t /drun_ring=3 /dI31PROT start;
jwasmd -Zm control.asm
jwasmd -Zm dalloc.asm
tasm32 /mx /t /drun_ring=3 /dI31PROT doutils;
tasm32 /mx /t /drun_ring=3 /dI31PROT dpmisim;
jwasmd -Zm exphdlr.asm
tasm32 /mx /t /drun_ring=3 /dI31PROT mswitch;
jwasmd -Zm paging.asm
tasm32 /mx /t /drun_ring=3 /dI31PROT tables;
jwasmd -Zm utils.asm
tasm32 /mx /t /drun_ring=3 /dI31PROT unload;
jwasmd -Zm valloc.asm
tasm32 /mx /t /drun_ring=3 /dI31PROT xms;
tasm32 /mx /t /drun_ring=3 /dI31PROT vcpi;
gcc -s ehdrfix.c -o ehdrfix.exe
gcc -s cwsparm.c -o cwsparam.exe
echo start.obj control.obj+ > cws.lnk
echo dalloc.obj doutils.obj dpmisim.obj exphdlr.obj mswitch.obj
paging.obj tables.obj utils.obj+ >> cws.lnk
echo unload.obj valloc.obj xms.obj vcpi.obj,cwsdpmi.exe,cwsdpmi.map >>
cws.lnk
tlink /3 /c @cws.lnk
del cws.lnk
ehdrfix cwsdpmi.exe
cwsparam -v cwsdpmi.exe
lzasmx cwsdstub.asm
jwasmd -Zm constub.asm
echo cwsdstub.obj start.obj constub.obj+ > cws.lnk
echo dalloc.obj doutils.obj dpmisim.obj exphdlr.obj mswitch.obj
paging.obj tables.obj utils.obj+ >> cws.lnk
echo valloc.obj xms.obj vcpi.obj,cwsdstub.exe,cwsdstub.map >> cws.lnk
tlink /3 /c @cws.lnk
del cws.lnk
ehdrfix cwsdstub.exe
cwsparam -v cwsdstub.exe
:end
Yeah, kinda insane, I used three assemblers, but none of them accepted
every file, and I'm too green re: TASM syntax to be able to directly
(or quickly) fix it. Still, as is, I made it 100% assembly (tcc -S),
and IMHO, it's much simpler to build. Obviously the goal was to
convert to a free/libre assembler. Even as far back as 1995, CWS said
he wanted to convert it to GCC + DJASM. I'm sure that's possible, but
probably beyond me and my skills. Maybe Devore's NOMYSO.PL would help,
I dunno, I should try it. Even JWasm 2.01 came out like two days ago
(and it can optionally compile with DJGPP, heh).
So whatever. I never finished. Just telling you my thoughts and
motivations just to give a clearer idea. And I know CWS is always
perpetually busy (heh, that's what you get for being so smart, heh).
P.S. That reminds me, MWDPMI is still in the CVS, but it's a *big*
pain to compile (needs old old DJGPP tools), and, AFAICT, "lacks
support for exceptions" or whatever (ask Eli, he knows). It's
obviously abandoned, so I don't consider that worthwhile, but I guess
anything's possible, just unlikely at this point. (I have the
interest, just not the brains or energy ... ugh.)
On Dec 15, 12:05 am, Rugxulo <rugx...@gmail.com> wrote:
>
> On Dec 14, 8:00 pm, "Rod Pemberton" <do_not_h...@nohavenot.cmm> wrote:
>
> > "DJ Delorie" <d...@delorie.com> wrote in message
>
> >news:200912142351....@delorie.com...
>
> > > That's an impressive list. How many of those implemented DPMI 1.0 ?
> > > (not that it matters any more, sadly)
Forgot to mention FreeDOS-32 and DOSEMU although the latter is much
more complete (and not almost abandoned), esp. re: DPMI 1.0. Also, Rod
mentions DOSBox, but AFAICT it never had built-in DPMI support (or
perhaps it's not enabled by default???), always relied on apps
themselves to support it (e.g. CWSDPMI).