> Jerome's V8Power Tools will detect some VMs, IIRC:

Yes, I checked that out.  In the version I looked at, it detects 3 different 
VMs all using the same method (looking for a specific identification string in 
BIOS memory).  That method works with some VMs, but not all.

> Although I never truly needed to know what VM

Sometimes I do.  I have my machine set up for lots of different kinds of 
testing.  I have several VMs installed and several different manufacturers and 
versions of DOS that can be used in them.  Some VMs just virtualize the 
hardware and the BIOS and let you install whatever DOS (or Windows or ...) you 
want.  Others have a virtual DOS already built into them (sometimes based on 
FreeDOS and sometimes something unique).

One of the main things that started me down this rabbit trail was the need to 
know which Ethernet card is being virtualized in a particular VM so I can load 
the correct packet driver.  I have a single ETHERNET.BAT file I run to install 
the packet driver, and since detecting which network card is installed is a 
tricky proposition I do it indirectly by detecting the VM (or lack of VM if I'm 
running on real hardware).

> the naive ways to detect (from my limited experience) are
> a). check DOS version

Can work in some VMs, but mostly not.

> b). check VESA version string
> c). check BIOS string.

Those are essentially the same method.  If VESA is supported in the VM (some do 
and some don't), the VESA version string is also in BIOS (usually in segment 
C000h or C800h).  The "BIOS string" I think you're referring to is usually 
somewhere in segment F000h.  Again, this only works with some VMs.

> (You could also check the cpu, but that's messy. DOSBox is a "fast
> 486" DX2 by default, IIRC.)

Some VMs (like PCem and 86Box) will virtualize different kinds of CPU's, so 
detecting the CPU is not a good method.  Also, most VMs will simply "pass 
through" the host's CPU and report it as their own instead of accurately 
identifying the virtualized CPU.  Some VMs report the CPU accurately, but most 
don't.

>> DOSBox
>
> "Only for games". (Maxes out at 64 MB RAM, meh. "Slow Pentium" is
> best it can emulate, IIRC.)

No, it can run "real" applications also.  But you're correct that its primary 
focus is compatibility with games.

>> DOSBox-X
>
> It's quite interesting (esp. running atop FreeDOS itself). But I
> haven't tested it too heavily.

Similar in many respects to DOSBox.

> DOSEmu / DOSEmu2
>
> Is this available in any repos? I'm very naive. Didn't the original
> used to be in "multiverse"? I'm not sure it's there anymore.

Not sure about DOSEmu, but I just downloaded and installed DOSEmu2 in the last 
few weeks in Ubuntu 22.04 (and my Ubuntu is running under Hyper-V in Windows 
10).

> I still haven't tried DOSEMU2 yet, but it uses its own modified FDPP
> (DOS) kernel, right?

It does.  I'm not sure exactly what's different between the DOSEmu "FreeDOS" 
and real FreeDOS, though.

> Hyper-V
>
> So Hyper-V does actually support DOS?

It does.  You just need to make sure you tell it you're installing a Generation 
1 VM (which includes a BIOS so you can virtualize DOS and older versions of 
Windows).

I also have Ubuntu installed under Hyper-V in Windows 10 and VMs (currently, 
DOSEmu2 and KVM) installed in Ubuntu.  I did need to do some manipulation in 
Windows to allow hypervisor capabilities to pass through Hyper-V so that Ubuntu 
could support VMs inside it (virtualization-inside-virtualization).

>> JPC
>
> The Java one??

Yes.  I needed to install the Java Runtime Engine in Windows to get this to 
work.

>> KVM
>
> This is just QEMU using VT-X, right?

I'm not sure exactly how it works.  I do know that the "official" name now is 
QEMU/KVM, so they are interlinked at some level.  I also know the Red Hat is 
somehow involved in the mix, but am unsure of the details.

>> Parallels
>
> Mac?

Yes.  I downloaded and installed Mac OSX Catalina under VMWare in Windows 10 
and installed a trial version of Parallels in Catalina.

>> QEMU
>
> I usually just used Stefan Weil's Windows binaries from his site. (I
> don't remember what version I have installed, probably 6.x on Win7.
> Latest version of his seems to be 7.1.0.)

I'm using 7.1.0 under Windows 10.

>   vDOS

> Wengier did some work on VDOSPlus, I thought (for apps, not games,
> with LFNs and better printing support).

Could be.  I mostly got hooked up with vDOS because it's what's recommended on 
Ed Mendelson's WPUniverse site (WordPerfect).

>> VirtualBox

> Even VirtualBox dropped 32-bit hosts and non-VT-X cpus a few years
> ago. (They use OpenWatcom to compile the BIOS.)

I have VMs for both DOS and Windows XP installed under VirtualBox in Windows 
10.  I use the XP virtual machine to test VirtualPC (since VirtualPC doesn't 
work with newer versions of Windows).

>> There are also a few other VMs out there that I'm not sure will run
>> DOS (the documentation is unclear and I haven't been able to
>> install or test them for various reasons):
>
>   BHyve

> This was created for FreeBSD and first released in 10.0, IIRC. It
> requires a 2010 Intel (or newer) with VT-X (and EPT). IIRC, they
> "mostly" wanted to run other versions of BSD, but there was partial
> effort to get other OSes (even with a BIOS) running. Honestly, I
> never tried it, but it sounded interesting. (Wasn't the Mac port
> called xhyve?)

Not sure about any of that.  I've just seen references to BHyve but haven't 
experimented yet.

>> I know the FreeDOS web site also lists several VMs (some of the
>> same ones I've listed above, plus JSLinux which is similar to JPC).

> Not sure, JSLinux is Javascript while (IIRC) JPC Is Java. There used
> to also be JDOSBox in Java and one guy (I forget) hosts JSDOSBox
> (Javascript) with demos on his site.
>
> There's also 8-Bit Workshop's website, but I don't know what that
> uses. (There's a lot of fragmentation and old versions).
>
> There were also Joris' Retro (Java) and 8086tiny (in C, with various
> forks).

Not sure about any of that, either.  Too many things to keep track of -- I get 
confused easily.

> VPC uses FreeDOS?? Not sure.

Yes.

>> Where/how should the results be documented (or if there even should
>> be a central repository)?
>
> You mean like DOSBox's compatibility list?

Well, that's a compatibility list for DOSBox.  We're kind of in a situation 
like we are with troubleshooting software these days -- when  it doesn't work, 
reboot and try again.  Trying to figure out the actual problem is just too much 
effort.  Similarly, if a particular application doesn't work correctly in one 
VM, try a different one.

There are also sites like VOGONS that have discussions about these kinds of 
things, but there is no central repository.  It's pretty much all over the 
place and sometimes you'll find what you're looking for and sometimes not.  
Something like an "RBIL for VMs" would be nice, but I doubt that it will ever 
happen. 


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to