X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Rugxulo 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: <5fb78e93-bed6-46d9-85c8-a838e35b3d22 AT r36g2000prf DOT googlegroups DOT com> NNTP-Posting-Host: 65.13.115.246 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 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 Content-Transfer-Encoding: 8bit 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 wrote: > > From: blueice > > 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.