X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Rugxulo Newsgroups: comp.os.msdos.djgpp Subject: Re: incompatible Date: Fri, 18 May 2012 19:35:32 -0700 (PDT) Organization: http://groups.google.com Lines: 63 Message-ID: References: <442a0 DOT 580acc3b DOT 3ce7635b AT aol DOT com> <83txzdstc1 DOT fsf AT gnu DOT org> <8c35d644-ede1-4b87-8c60-ebf6a0db0513 AT hq4g2000vbb 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 1337395031 23726 127.0.0.1 (19 May 2012 02:37:11 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Sat, 19 May 2012 02:37:11 +0000 (UTC) Complaints-To: groups-abuse AT google DOT com Injection-Info: r3g2000yqh.googlegroups.com; posting-host=65.13.115.246; posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.630.0 Safari/534.16,gzip(gfe) Bytes: 4038 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 q4J2j1DP010961 Reply-To: djgpp AT delorie DOT com Hi, On May 18, 8:57 pm, "Rod Pemberton" wrote: > "Rugxulo" wrote in message > > news:8c35d644-ede1-4b87-8c60-ebf6a0db0513 AT hq4g2000vbb DOT googlegroups DOT com... > > > 64-bit is a whole other can of worms because, as mentioned, it lacks > > direct support for 16-bit stuff. > > Do we need 16-bit stuff though for 64-bits? No. > We need 16-bit stuff for  *DOS*...  Win7 64-bit still has console windows, > yes? Yes. But ... > DJGPP produces an 32-bit executable in COFF and then stubs it with a 16-bit > stub.  So, the 32-bit executable should be able to run in whatever "console" > window is still available in Windows with a working loader (COFF) or the > correct executable format (PE ... ?). No. The BIOS and DOS APIs, not to mention DPMI, are required. I know you already know this. But Win64 lacks all of those. So just loading the file or avoiding the tiny 16-bit stub won't fix it when it tries calling DPMI int 31h, 300h to call DOS file API int 21h, 3D00h or int 21h, 9 (which calls the BIOS). Sure, you can emulate all that, but that's the problem. It's not so much just loading it, it's minimizing the DOS and BIOS parts. Things like DOSBox have their own DOS and BIOS and video BIOS. VirtualBox has its own BIOS and vBIOS too but relies on a real DOS (e.g. FreeDOS). I wanted to say VBox used real BIOS or video card, but apparently not. I ran Doom 1.9 shareware, but some of the textures were (barely) messed up. Sound fx worked but not MIDI. All of this was under FreeDOS guest with VT-X enabled!! So, surprisingly, DOSBox is actually better (no texture messups, SB and MIDI) and faster. (But for other stuff it's much much slower, e.g. p7zip 9.13, and it caps off at 64 MB max.) DOSEMU is similarly fast, maybe faster fps (at least lots more than native when I tested Hexen2) but lacked MIDI. Raw FreeDOS is fairly fast too but only uses PC speaker sfx, heheh. > If DJGPP produced a 64-bit > executable, with the proper stub or loader, it should be able to execute > 64-bits.  However, then DJGPP is moving into Cygwin or Mingw Windows C > compiler territory, away from DOS and Windows "console" ... MS did this on purpose, sad to say. Maybe it wasn't nefarious, maybe they just wanted to focus on Hyper-V (and VT-X) as a more universal solution. But they've pretty much killed everything else (OS/2 1.x, DOS, Win16). At least they "mostly" still support Win32, but that's probably deprecated eventually also in favor of Metro/WinRT or C# .NET or HTML5/JS or Win64 only (PE32+) or whatever. Apparently (almost) nobody besides us wants to keep DOS apps alive. They're focused on other things (tablets, smartphones, blah ...).