Since what you need to know is which Ethernet card is being virtualized,
perhaps it would be sufficient to simply scan the PCI bus to see what class 2
devices reside there? My ListPCI tool can do just that (as well as some other
stuff) and I believe Eric Auer's PCISleep may do something similar, albeit
without the "specificness" my tool offers as far as only listing certain
devices for which you are looking.
Of course, if the majority of cards for which you need to search are non-PCI
(e.g. some old ISA stuff) then this wouldn't be suitable at all, but if not...
hey, maybe it could help? It weighs in at a mere 53 KiB, but maybe this is
beyond what you wish to spend, space-wise. Feel free to read a little more
about it [here](https://mercurycoding.com/blog.html?tag=ListPCI).
Hope this helps! :)
Sent with [Proton Mail](https://proton.me/) secure email.
------- Original Message -------
On Tuesday, October 25th, 2022 at 11:24 PM, Bret Johnson bretj...@juno.com
wrote:
>> 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
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel