Mail Archives: djgpp/2017/08/19/20:15:13.1
On Tuesday, April 11, 2017 at 6:23:43 PM UTC-7, rug DOT DOT DOT AT gmail DOT com wrote:
> Hi,
>
> On Tuesday, April 11, 2017 at 2:56:43 PM UTC-5, Jim Michaels wrote:
> >
> > please make djgpp compiler host binaries and utilities work on x64,
> > which is a version of the WinPE format.
>
> Jim, it's just not going to happen. We're lucky that DOS works on any
> semi-recent machines anymore. It's asking for a miracle, it's that
> hard. Don't keep getting your hopes up! :-(
>
> Do you even have any UEFI machines? (I don't.) Do they all have CSMs?
> Do you boot DOS natively and/or by bootable USB? (I do.) Do any of
> your machines have VT-X with "unrestricted guest mode"? (Only this
> desktop does.)
I am using a UEFI machine with CSM. ASUS P9x79 deluxe v1.0
the kinds of changes I am asking for might require working with the WIN32 API as a host which is documented on MSDN use bing or google to find msdn, and a change to the format of the executable of the compiler. it may run on DPMI for XP since XP 32-bit runs DOS stuff because it has command.com but x64 does not have a command.com.
you would have to make a runtime for the x64 windows platform. memory allocation and such probably doesn't use DPMI. there are native threads using CreateThread() and a HANDLE. but pointer sizes on the 64-bit platform are 64-bit in size, and so are addresses and sometimes data. mingw-w64 is a gcc/g++ which works on that platform and can target x32 and x64 by -m32 and -m64 switches, and you can make it monolithic with -static. VC++ community edition is also available. not sure what the license for this is, none was shown.
>
> The closest you're going to get is probably something using VT-X.
> And apparently even DOSEMU2 uses that these days. (Eventually I'm
> going to wipe my Ubuntu 14.04 USB drive and install Fedora + DOSEMU2.)
>
> Yes, DOSEMU2 works atop x64, but no, it's still plain DOS, so you can't
> do any 64-bit or threading stuff with it.
>
> https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB
> https://stsp.github.io/dosemu2/
>
> If you absolutely "need" 64-bit or SMP or whatever, just use Linux for
> that and only use DOSEMU2 for "legacy" stuff. You can indeed use both,
> but you cannot magically make DOS "modern" just by nagging a few
> lonely developers. Sorry, but even they aren't smart enough to do
> literally everything.
- Raw text -