delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2009/12/15/01:45:07

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: Rugxulo <rugxulo AT gmail DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: D. Borca's old ELF fork: mirror needed
Date: Mon, 14 Dec 2009 22:20:52 -0800 (PST)
Organization: http://groups.google.com
Lines: 150
Message-ID: <a2614833-f380-48ea-8693-0cfd6f683d78@s20g2000yqd.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>
<aa19671c-5e44-489b-82ec-bf9fd7553093 AT p36g2000vbn DOT googlegroups DOT com>
<200911232318 DOT nANNIKok011648 AT delorie DOT com> <45c9cb3b-fae5-4b4c-9b06-bed5c0931015 AT p8g2000yqb DOT googlegroups DOT com>
<200912140126 DOT nBE1QoI7013517 AT delorie DOT com> <38caef0f-6980-43b4-b215-6c05ff434010 AT z41g2000yqz DOT googlegroups DOT com>
<200912142331 DOT nBENVT6j000793 AT delorie DOT com>
NNTP-Posting-Host: 65.13.115.246
Mime-Version: 1.0
X-Trace: posting.google.com 1260858053 10550 127.0.0.1 (15 Dec 2009 06:20:53 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Tue, 15 Dec 2009 06:20:53 +0000 (UTC)
Complaints-To: groups-abuse AT google DOT com
Injection-Info: s20g2000yqd.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: 8354
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, 5:31=A0pm, DJ Delorie <d DOT  DOT  DOT  AT delorie DOT com> wrote:
> > Maybe not, but it's almost definitely "good enough" for most people
> > here.
>
> I agree, I'm just trying to manage the slippery slope between "hosting
> djgpp" and "hosting everything on the planet".

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%"=3D=3D"" echo DJGPP needed only for EHDRFIX.EXE and
CWSPARAM.EXE.
if "%DJGPP%"=3D=3D"" echo TC++ works but isn't FOSS, so I'm trying to
avoid it.
if "%DJGPP%"=3D=3D"" 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=3D3 /dI31PROT start;
jwasmd -Zm control.asm
jwasmd -Zm dalloc.asm
tasm32 /mx /t /drun_ring=3D3 /dI31PROT doutils;
tasm32 /mx /t /drun_ring=3D3 /dI31PROT dpmisim;
jwasmd -Zm exphdlr.asm
tasm32 /mx /t /drun_ring=3D3 /dI31PROT mswitch;
jwasmd -Zm paging.asm
tasm32 /mx /t /drun_ring=3D3 /dI31PROT tables;
jwasmd -Zm utils.asm
tasm32 /mx /t /drun_ring=3D3 /dI31PROT unload;
jwasmd -Zm valloc.asm
tasm32 /mx /t /drun_ring=3D3 /dI31PROT xms;
tasm32 /mx /t /drun_ring=3D3 /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.)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019