now, and I figured I should see if I can get it running on NT 4.0…
There was some minor issues with the way it handles for loops, but making them more C89 friendly was trivial.
You can download my project (source and binary) here. Â The ‘killer’ feature is that it being built with Visual Studio 97 on NT 4, the needed Visual C++ LIBC DLL ought to be in place on anything modern these days.
You can always find the home page for 8086tiny, right here,Â atÂ megalith.co.uk. Â Code is maintained on github.
It will be awesome if it runs on MIPS NT 4.0. 🙂
it would probably work, as my ‘quake on sdl’ would pretty much be the same thing… although I think NTVDM is much more adept at running alleycats…
I’ve always wondered why the emulated NTVDM wasn’t ported to AMD64 Windows…
I always figured Microsoft had pretty much given up on MS-DOS at that point. And with their acquisition of Virtual PC form Connectix, they had a better solution in hand, since Virtual PC is way better than NTVDM when it comes to emulating MS-DOS.
Of course Microsoft being Microsoft, gutted VirtualPC for some glorified Internet Explorer 6 shell, while trying to come up with Hyper-V to attack ESX. Even the Virtual PC Guy has given up on MS-DOS. His last post was some 3 years ago when he even mentions MS-DOS.
So yeah, but how many people still want MS-DOS? I know I want something more NTVDM like, but light weight, I don’t care about graphics, ascii is fine. But I want 386/387 for DPMI, and EMS for lame programs that like EMS…
May ReactOS NTVDM be more powerful in the future. 🙂
DPMI apps could theoretically be run without any virtualization or emulation on x86-64, unfortunately Microsoft doesn’t permit any LDT access even from device drivers. Could be done on Linux though as LDT support was nearly killed several weeks ago but was preserved when the head of the Wine project noted “we still
regularly get bug reports about specific 16-bit apps” (referring to win16 which won’t work with being able to add LDT entries).
well I guess an app that makes no system calls… and lives in a nice place in memory…. wasn’t this the goal of DOS32.. although it kind of went nowhere 🙁
@crazyc How can 32bit DOS app work without 16bit DOS INT?
not very well I imagine… You’d need something there to ‘catch’ them as they call down to DOS, much like DOSBox does it without a ‘real DOS’..
It’s not hard, Wine does it and so does DOSEMU. In protected mode, ring 3 and IOPL 0, the int instruction throws a GP fault. Just catch it.
I suppose the lack of love for DOS makes sense, but my understanding is that the WoW Win16 subsystem was built on NTVDM? I would have thought they’d have kept they going if for no other reason than to keep ancient InstallShield packages working.
Plus the 486 emulation in RISC NT 4 was by Connectix, so it’s not like they’d be paying royalties on that anymore.
Maybe NTVDM can be built from the NT4 code floating around the place, hmmm…
They actually do – AFAIK, it has hooks to intercept 16-bit IS stubs and replace them with 32-bit ones on the fly
DOS is like a stalker, just can’t get rid of it. Once in a while I need PUTR (http://www.dbit.com/pub/putr/) and I end up with dosemu on my box again.
it certainly is. Kind of how like DR-DOS was about to be opened up, but someone stopped the because people are clearly still buying it.
Even Multi User MS-DOS stuff must still have a market.
Sent you the modded bios source that can handle 306/4/17 hdimages.
I encourage you to try it out 🙂
Thanks! I just noticed that the binary in this release I did didn’t have the actual EXE….
Tidyed a little bit the bios source, and forked on github. Actually I think qnx could be used with bare 8086tiny bios, but only with */16/63 hdd geometry.
xenix86 and pc/ix 86 hangs a short while after showing boot menue 🙁
nice. what about cherry-picking these changes as well?
Fix DAA/DAS instruction bug
Fix ROL/ROR/RCL/RCR mem/reg, imm bug
Seems to be okay (static code check = visually :o) )
Serial port support withOUT converting the whole project to C++, is my next main goal in order to make virtual serial port-hosttcp connection. Anyway, will give it a try.