16

What is the oldest commercial MS-DOS program that can run on modern versions of Windows (such as Windows 8.1 or Windows 10) without third-party emulators?

user3840170
  • 23,072
  • 4
  • 91
  • 150
Anixx
  • 1,547
  • 13
  • 25
  • 12
    It's not the oldest, but I still have clients of mine running the MS-DOS version of my accounting software on 32-bit versions of Windows. I even offered to give them my Windows version for free, but as long as they keep paying me support money, I keep the software current (within reason). Specifically, payroll changes for tax revisions. The code itself was ported from Radio Shack Model I in the late 70's, I took over maintenance around 1985, currently MS-BASIC 7.1 – Bill Hileman Jun 17 '19 at 17:49
  • 5
    @BillHileman wow, I would think cumulative tax code changes would eat you to death, I.E. the ever increasing complexity would exceed the limits of the legacy platform. – Harper - Reinstate Monica Jun 17 '19 at 21:16
  • 5
    @Harper I made the system flexible enough that it's been able to keep up with the changes so far. The last major change I had to made was regarding FICA where a new ceiling was added where a different rate kicked-in, but it's been able to survive with just tax table data entry over all this time otherwise, and yes, payroll taxes are incredibly complex programming-wise. – Bill Hileman Jun 17 '19 at 21:43
  • 11
    I'm voting to close this question as off-topic because open-ended "find it for me"-style questions do not work well in the Stack Exchange model. There is no way of confirming the one, true answer, and questions like this inevitably attract a large number of potentially correct answers without specific references or facts to back them up. It is not a practical problem faced in the hobby of retrocomputing or when using vintage computer hardware or software. – Cody Gray - on strike Jun 17 '19 at 23:56
  • 2
    I am voting to this to "leave open", because having the oldest X has an objective answer. If a yet older program is found in some archive, that will the existing answer override - the SE model solves this problem by votes, and not by closure. Closure can happen if the question is not enough broad, it is enough broad. – peterh Jun 18 '19 at 14:54
  • 4
    This is just mindless trivia. I know this site is getting filled with them, but as Cody writes, Stack Exchange is not for such questions. I guess it's because there's no other large forums online for that type of questions, that we are getting all of them here. – pipe Jun 18 '19 at 18:08
  • 2
    @BillHileman Wow, you are a really hardcore guy! In your profil page, this is from that? "fighting evil bugs in my accounting application to defend existing user base" :-) – peterh Jun 19 '19 at 00:16
  • 3
    @perterh I've reached the age where I don't even recognize my own stuff sometimes, had to go look at my own profile. Thanks for the compliment (I think) :) – Bill Hileman Jun 19 '19 at 00:37
  • 3
    Just voted Leave Open, as the question itself is valid - though, it's senseless, as Windows does still offer several ways to run even COM programs - thus even tools from the very first DOS disk will run. The question is based on an implication of some partial incompatibility over time - an alien concept in the age of virtual machines and their fast emulating of anything old. – Raffzahn Jun 23 '19 at 06:06

2 Answers2

38

The 32-bit versions of Windows can still run many DOS binaries directly, using NTVDM, and VisiCalc stills works. VisiCalc was available at launch with the IBM PC, so is probably qualifies as the oldest commercial DOS program which can still run on modern versions of Windows without third-party software.

Stephen Kitt
  • 121,835
  • 17
  • 505
  • 462
  • 3
    Does it in fact run? – Anixx Jun 17 '19 at 13:45
  • 4
    I can confirm that it will not run on 64 bit windows 7, but the answer notes 32 bit, and this confirms the exclusion. – fred_dot_u Jun 17 '19 at 14:58
  • 5
    Just confirmed it works on 32-bit Windows 7. Takes a little while to start (similar to running debug), which I believe/suspect is because it fires some kind of a 16-bit VM in which to run it. – TripeHound Jun 17 '19 at 15:22
  • 1
    @StephenKitt Looks like it is using NTVDM -- just that my machine is quite long in the tooth! – TripeHound Jun 17 '19 at 15:40
  • 1
    XP-in-a-VM is not very seamless (and to my knowledge not a part of newer windows versions) so you would have noticed :) – Thorbjørn Ravn Andersen Jun 17 '19 at 15:57
  • Wonder if there is a VisiCalc benchmark - just to see if the speed is tens of thousands of what it was then. – Thorbjørn Ravn Andersen Jun 17 '19 at 15:57
  • @fred_dot_u yeah, 16 bit programs will not run under x64. Some people still use "edit". – mckenzm Jun 18 '19 at 01:17
  • 4
    @TripeHound It's probably using virtual 8086 mode, not a virtual machine (which wouldn't be capable of that anyway). That also explains why it doesn't work on 64-bit systems, which lack VM86 support. – forest Jun 18 '19 at 02:53
  • 3
    @StephenKitt Most virtual machines execute instructions directly on the hardware. If the underlying CPU doesn't support the instructions, a VM can't run it (e.g. you can't have a MIPS program in a VM on an x86 machine). What you would need in that case is an emulator, which is a lot slower. I guess technically the definition of VM can include non-hardware accelerated virtualization (like the Java VM), but usually it's used to mean a hypervisor like VirtualBox or VMWare. – forest Jun 18 '19 at 05:38
  • 1
    @forest In this context, VM86 is referring to the virtual DOS environment that ships on 32 bit Windows NT-based operating systems. It's a very cut-down virtual machine that manages the V86 mode of the 80386+ CPU to present a "real-mode" environment to DOS applications. That system isn't present on 64 bit Windows. – throx Jun 18 '19 at 05:49
  • @throx I know, I was the one who mentioned VM86. :P – forest Jun 18 '19 at 05:57
  • @forest oh, OK, I thought you were only referring to x86 VMs on x86 hardware. – Stephen Kitt Jun 18 '19 at 06:58
  • 1
    @forest While emulators are much slower than virtualilzation, they can still be quite fast. I use SheepShaver on my Mac to run a 20-year-old application (Managing Your Money), and the emulator is blazingly fast compared to the Macs I originally ran the program on. – Barmar Jun 18 '19 at 16:25
  • 1
    Worth pointing out that Windows 10 is still available in 32-bit mode...? That might not continue forever. Related: https://support.microsoft.com/en-gb/help/15056/windows-32-64-bit-faq – Roger Lipscombe Jun 18 '19 at 16:56
  • @RogerLipscombe Windows 11 is 64-bit only. – Thorbjørn Ravn Andersen Dec 07 '21 at 01:46
1

I ran DOS 1.x basic on modern hardware, in Windows 7. You can run it in any directory, but you can't exit command.com without closing the window.

The package of BASICA that I did and loaded on Vetusware, all were converted in DOS 5.00 vm, and tested in the DOS sessions of Windows 2000 and Window 7.

wendy.krieger
  • 712
  • 3
  • 6