delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2009/01/03/16:00:22

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: TRYING TO MAKE EXE RUN ON FRIENDS MACHINE
Date: Sat, 3 Jan 2009 12:58:55 -0800 (PST)
Organization: http://groups.google.com
Lines: 51
Message-ID: <9941ccce-87a6-4ace-9f78-9b15710643bd@x8g2000yqk.googlegroups.com>
References: <cc2668db-926c-41e1-9836-5a42a1210ed6 AT s9g2000prg DOT googlegroups DOT com>
<uwsdcmjo7 DOT fsf AT gnu DOT org> <5fb78e93-bed6-46d9-85c8-a838e35b3d22 AT r36g2000prf DOT googlegroups DOT com>
<uprj4mbv6 DOT fsf AT gnu DOT org>
NNTP-Posting-Host: 65.13.115.246
Mime-Version: 1.0
X-Trace: posting.google.com 1231016335 12262 127.0.0.1 (3 Jan 2009 20:58:55 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Sat, 3 Jan 2009 20:58:55 +0000 (UTC)
Complaints-To: groups-abuse AT google DOT com
Injection-Info: x8g2000yqk.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; rv:1.9.0.5)
Gecko/2008120122 Firefox/3.0.5,gzip(gfe),gzip(gfe)
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id n03L05EM004301
Reply-To: djgpp AT delorie DOT com

Hi,

On Jan 3, 1:24 pm, Eli Zaretskii <e DOT  DOT  DOT  AT gnu DOT org> wrote:
> > From: blueice <biject DOT b DOT  DOT  DOT  AT gmail DOT com>
> > Date: Sat, 3 Jan 2009 10:45:57 -0800 (PST)
>
> > > >  I have used DJGPP for years. The problem is this my executable does
> > > > not run on a VISTA 64 bit machine.
>

The NT series has always had DOS compatibility issues as it's not
based upon DOS like Win9x, etc. Win2k had some kind of memory bugs
which had to be worked around. Then Vista disabled full-screen and (by
default) limited DPMI memory to 32 MB. However, in this case, it's not
(directly) Microsoft's fault. AMD64 long mode doesn't allow 16-bit
programs to run at the same time as 64-bit stuff. Only the emulation
mode allows 16- and 32-bit stuff (but no 64-bit then). The latest
DOSEMU for GNU/Linux emulates the 16-bit stuff under 64-bit mode, but
so far, Microsoft hasn't written / published their own NTVDM64
(sadly).

> Well, it Vista 64 is documented to be unable to run 16-bit (DOS)
> applications, then I guess you are out of luck: DJGPP programs _are_,
> as far as Windows is concerned, 16-bit DOS executables.

The stub is 16-bit, and the C lib does call BIOS and MS-DOS interrupts
a lot, so there's not much you can do (that I'm aware of). RSXNT/DJ
(which is old / abandoned) used to create dual DOS/Win32 .EXEs. I
don't know how to combine a DJGPP + Win32 .EXE, though. Anyways, for
building on Windows I would suggest Cygwin (unless your app must be
closed src, which I think Cygwin forbids by default), esp. since you
can also optionally get the MinGW runtime support so you can compile
for either (and Cygwin uses its own .DLL and doesn't use buggy MSVCRT
but is *allegedly* slower). Cygwin has lots of ports of stuff, so you
can't really go wrong there (right, DJ?).    ;-)

Another option is OpenWatcom, which transparently supports both 32-bit
DOS and Windows, but its DOS support lacks much of the niceties of
DJGPP (LFNs, POSIX). You may be able to get around some of that by
trying Japheth's HX (either linking his Win32 libs statically to
your .EXE and tacking on HDPMI32 for a "special" DOS .EXE else just
letting the user run the static Win32 .EXE under HXRT emulation setup
in pure DOS).

Anyways, if none of that sounds appealing, you're stuck to just using
either DOSBox or some virtualization (e.g. VirtualBox or QEMU or
BOCHS) with FreeDOS.

P.S. Why are you running 64-bit Vista anyways? Unless you have / need
> 3 GB of RAM, I think it's overkill.

- Raw text -


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