DOS ain't dead

Old Noob wants to graduate from MS-DOS 6.21 (Users)

Hi again. Some of you may remember me from my posts last spring. I'm afraid I had to put my DOS project into storage while I tried to cope with a housing crisis. The dust still hasn't settled from that disaster, but now at least I have a roof over my head and have dug my DOS laptop and floppy disks out of storage, so I'm going to give it another go.

The antique laptop I'm running MS-DOS on may die any day now, so I'm hoping I might find a mentor or two in this forum, who could advise me on what to look for in a newer computer that would run FreeDOS (or something like it), and perhaps even run multiple instances of DOS in "virtual machines" on a single computer. That way I'm hoping I could multi-task between my favorite DOS programs: a text editor called TSE, a database called FYI and, of course, that old workhorse of a file manager, XTree.

I know next to nothing about virtual machine software, and the same goes for FreeDOS, so I'll be starting from square one.

I've been trying to log in to the FreeDOS forum at Nabble, but I keep getting error messages and can't figure out how to contact the moderator to sort it out.

So, for starters, I'd be grateful for advice about which current version of DOS would be the best fit for running my old DOS programs that I've been running under MS-DOS 6.21 and DOSSHELL. And then, the specs of a computer that would work well running DOS and virtual machine softwared.

Old Noob wants to graduate from MS-DOS 6.21

If you want to run DOS only under emulation or virtualization just buy the mainstream - ordinar higher class of notebook.
ïf you want to run DOS programs occasionaly natively or if you are skilled enough to make dual boot system (WinXP on NTFS and DOS on FAT) you have to buy a older generation notebook intended for windows XP.
And if you want to run or develop DOS programs more intensively you will have to find notebook intended for Windows98.

Old Noob wants to graduate from MS-DOS 6.21

> If you want to run DOS only under emulation or virtualization just buy the> mainstream - ordinar higher class of notebook.

You pretty much need hardware "virtualization technology" (VT-X) to work comfortably. A lot of machines presumably still don't have this (but AMD might? be more generous even on lower-end models).

> ïf you want to run DOS programs occasionaly natively or if you are skilled> enough to make dual boot system (WinXP on NTFS and DOS on FAT) you have to> buy a older generation notebook intended for windows XP.

You can almost dual boot just by booting USB (see RUFUS or UNetBootIn), which shouldn't be hard to do as long as you have a BIOS (so maybe not if your laptop is UEFI only with no CSM).

> And if you want to run or develop DOS programs more intensively you will> have to find notebook intended for Windows98.

You're never going to have full compatibility anywhere. A lot of things just don't work or are too hard to fix. But if you keep your goals reasonable, you can be reasonably happy. Win9x-level compatibility is probably not going to happen, and even XP is potentially hard to find. There is no quick and easy fix, even VT-X won't fix everything, so you can't have it all (esp. sound or power management or networking or pretty much any low-level stuff that has changed over the years, DOS is not a priority for most companies to support anymore).

Old Noob wants to graduate from MS-DOS 6.21

I think that ebay is full of old laptops with pentium / pantium II that should work fine. I would suggest some old IBM Thinkpad or Compaq Armada that was made quite robust compared to current plastic crap. For newer machines VT-x can help but dosbox run without it.

Old Noob wants to graduate from MS-DOS 6.21

> So, for starters, I'd be grateful for advice about which current version of> DOS would be the best fit for running my old DOS programs that I've been> running under MS-DOS 6.21 and DOSSHELL. And then, the specs of a computer> that would work well running DOS and virtual machine softwared.

I would seriously recommend the 'DOS' environment of Windows XP or Windos 7 32-bit.

It should run all your old DOS programs, is much more friendly for Noobs, and will even multi-task a couple of them.

Old Noob wants to graduate from MS-DOS 6.21

> I would seriously recommend the 'DOS' environment of Windows XP or Windos 7> 32-bit.> > It should run all your old DOS programs

Uh, not so much. It might run "some" (but even less on anything after XP), but saying "all" is promising WAY too much. Seriously, I'd be depressed if I saw how incompatible it was nowadays (if I didn't already know). We're lucky anything still works (in Windows). For example, AFAIK, no full-screen in Vista or newer, which might be a dealbreaker for him.

EDIT: My point is that there are varying levels of compatibility, but Windows is sadly not top tier for that anymore.

Old Noob wants to graduate from MS-DOS 6.21

> > I would seriously recommend the 'DOS' environment of Windows XP or Windos> 7> > 32-bit.> > > > It should run all your old DOS programs> > Uh, not so much. It might run "some" (but even less on anything after XP),> but saying "all" is promising WAY too much. Seriously, I'd be depressed if> I saw how incompatible it was nowadays (if I didn't already know). We're> lucky anything still works (in Windows).

I'm very much aware that many programs (low level) won't work with Windows.

However, reading his request, "That way I'm hoping I could multi-task between my favorite DOS programs: a text editor called TSE, a database called FYI and, of course, that old workhorse of a file manager, XTree.", should work pretty well with Windows, and even multitask.

I don't see any alternative solution to his whishes, inparticular virtual machines don't help to multi-task.

DOSemu on Linux might also work, but I never used it.
And I doubt a real Noob would be able to install linux+DOSemu.

Old Noob wants to graduate from MS-DOS 6.21

> The antique laptop I'm running MS-DOS on may die any day now, so I'm hoping> I might find a mentor or two in this forum, who could advise me on what to> look for in a newer computer that would run FreeDOS (or something like it),> and perhaps even run multiple instances of DOS in "virtual machines" on a> single computer. That way I'm hoping I could multi-task between my> favorite DOS programs: a text editor called TSE, a database called FYI> and, of course, that old workhorse of a file manager, XTree.

There IS DOS software that will allow you to switch quickly between several DOS applications. But only one will be "live" at a time.
And you will need a large amount of memory to avoid it choking.
I no longer use it !

> I know next to nothing about virtual machine software, and the same goes> for FreeDOS, so I'll be starting from square one.

FWIW: In my experience, running DOS in a virtual machine can be done but it is far, very far, from easy or even useful.
YMMV !

> So, for starters, I'd be grateful for advice about which current version of> DOS would be the best fit for running my old DOS programs that I've been> running under MS-DOS 6.21 and DOSSHELL. And then, the specs of a computer> that would work well running DOS and virtual machine softwared.

If you were happy with MS-DOS 6.21, then stick with it.

I use MS-DOS 6.20, and I run that on both my main machines.
I also run several Linux distros on both machines, using a boot-manager sort of system to select which to boot.

There should be any number of "old" machines available to run what you want.
If not, as I have done several times, getting someone clever to put together a machine with DOS-friendly nic, soundcard, video card, etc..

Old Noob wants to graduate from MS-DOS 6.21

DR-DOS 7.03 is still sold, but you're limited to 64 MB per (multi)task.

I don't know about DV/X, it's not easily available anywhere (legally).

> Multiple instances of an emulator or VM don't operate on the same> filesystem, so that is not so useful.

So what? Use separate disks then merge the files later, if needed. Or send your files through the network. (Dunno exactly, but it's far from impossible.)

Okay, so you always make me think about FreeBSD. (No, I don't have a Mac.) A quick check shows that OS X (10.10, Yosemite) added a Hypervisor framework. (As you know, that kind of thing is all the rage these days, e.g. Win64 Pro's Hyper-V or VMware.) Apparently, FreeBSD's bhyve (VT-X ftw!) has been ported to OS X (xhyve), and the same guy wrote a simple example (very limited subset!) emulator called hvdos. Also, the bhyve wiki page says that it now partially supports UEFI/BIOS (since October 2015). Also, there's a 2013 paper about using doscmd (instead of GPL'd SeaBIOS) with bhyve for BIOS emulation.

In short, nobody get their hopes up! I doubt any of this is better than whatever VBox gives us. I'm just saying, there is some broad worldwide interest (beyond just QEMU/KVM or whatever).

Seriously, I cannot stress this enough, you have to have VERY low expectations for this kind of thing. It's just not a priority for most developers. Most emulation is heavily focused on Windows or *nix.

Old Noob wants to graduate from MS-DOS 6.21

> > and the same guy wrote a simple example (very limited subset!) emulator> called hvdos.> > Nice and simple. I'd like to see a similar example for windows or bare> metal in C...

You mean like 8086tiny or Fake86? No, you presumably mean hardware-assisted.

BTW, here's what resident guru Eric Auer says:

> If you use Dosemu (in Linux) or Dosbox (Linux, Windows),> you will NOT need VT-X and you CAN run multiple,> even graphical, threads sharing the SAME (virtual)> disk drives because they are simply host OS dirs.
>> I think the thread is way too pessimistic about> DOS in boxes and WAY too optimistic about using> task switchers together with modern DOS software> on also modern raw hardware.

Old Noob wants to graduate from MS-DOS 6.21

> You mean like 8086tiny or Fake86? No, you presumably mean> hardware-assisted.

I know tiny86 but I meant a simple hypervisor example using HW VTx. It's something new to discover and it's more powerfull as it can transparently handle pmode and without significant CPU slowdown. Hvdos is good example (of course very limited) much easier to understand than common HV mammoth projects...