News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Instruction Set Detection

Started by Gunther, May 12, 2022, 05:31:12 PM

Previous topic - Next topic

Gunther

The program determines the available instruction sets of the CPU. It's a simple Real Mode application and only requires an 80386. I wrote it with PowerBASIC and JWASM.
TASM also works and MASM should not be a problem.

This program is the preliminary stage for a stand alone DOS application in assembly language. I need that for a Beowulf project. The program searches up to and including
SSE4.2. AVX, AVX2 and AVX512 are not tested. The use of AVX and AVX2 under DOS is of course possible in principle. However, that requires special arrangements. This was
discussed in this forum back in 2015. Anyone interested in this needs to read this and this thread very carefully.

It is amazing what the application outputs on the same machine under different environments. Native FreeDOS provides that:

Detection Results
=================

CPU Strings
-----------

Processor Vendor String: GenuineIntel
Processor Brand String:  Intel(R)Core(TM)i7-7820XCPU@3.60GHz             

Supported Instruction Sets
--------------------------

MMX  SSE  SSE2  SSE3  SSSE3  SSE4.1  SSE4.2


Please, press any key to end the application ...

This is equal to the output of FreeDOS under Oracle Virtual Box with Windows 10 as host. Therefore, I suspect that Virtual Box does not emulate the processor, but rather reaches
through to the original CPU. However, I know too little about the internals for a final opinion on this.

In contrast, DOSBox 0.74-3 only emulates an 80486, as the following output shows:

Detection Results
=================

CPU Strings
-----------

Processor Vendor String: GenuineIntel
Processor Brand String not supported.

Supported Instruction Sets
--------------------------

80486


Please, press any key to end the application ...

At the moment there is no chance to use SSE under DOSBox. This is what it looks like.

I need help testing with other processors, configurations and environments. I would like to thank you in advance for this.
You have to know the facts before you can distort them.

FORTRANS

Hi,

Quote from: Gunther on May 12, 2022, 05:31:12 PM
I need help testing with other processors, configurations and environments. I would like to thank you in advance for this.

   System one, Windows 2000 and OS/2.  I could test MS-DOS.

Detection Results
=================

CPU Strings
-----------

Processor Vendor String: GenuineIntel
Processor Brand String not supported.

Supported Instruction Sets
--------------------------

MMX  SSE


Please, press any key to end the application ...


   System two, Windows XP.


Detection Results
=================

CPU Strings
-----------

Processor Vendor String: GenuineIntel
Processor Brand String:  Intel(R)Pentium(R)Mprocessor1.70GHz             

Supported Instruction Sets
--------------------------

MMX  SSE  SSE2


Please, press any key to end the application ...


   I tried to test in Virtual Box, but failed to communicate with it.
(Inexperienced with using it.  Frustrating.)

Regards,

Steve N.

Gunther

Thank you for testing, Steve.  :thumbsup:

Quote from: FORTRANS on May 13, 2022, 06:27:35 AM
   I tried to test in Virtual Box, but failed to communicate with it.
(Inexperienced with using it.  Frustrating.)

Yes, that' s a significant problem, especially the data exchange between host and guest. Shared folders can be created with other guest operating systems. DOS doesn't have
reasonable, free USB drivers either. Maybe one day I'll write a driver for it - if I find the time.

Here is my solution. I'm using FreeDOS as guest. This has several advantages. First of all, FreeDOS has a pretty good FTP server. The only thing you need then is a FTP client
under Windows. I recommend Total Commander for this; however, there are certainly alternatives. The data exchange then happens quite simply and very reliably via FTP.
Here you can read the details. I hope that was helpful.
You have to know the facts before you can distort them.

daydreamer

Doesn't dosbox have slowpentium setting? And fork that supports mmx?
The only distributed computing I have experience with is 3d software render animation spread 1/4 of frames to 4 computers in network


my none asm creations
https://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding

Gunther

Daydreamer,

Quote from: daydreamer on May 13, 2022, 06:17:30 PM
Doesn't dosbox have slowpentium setting? And fork that supports mmx?

that's not known to me. I have read the DOSBox manual and found nothing about this.
You have to know the facts before you can distort them.

daydreamer

Quote from: Gunther on May 13, 2022, 07:26:47 PM
Quote from: daydreamer on May 13, 2022, 06:17:30 PM
Doesn't dosbox have slowpentium setting? And fork that supports mmx?

that's not known to me. I have read the DOSBox manual and found nothing about this.
It's in config file,different cpu type emulation settings if not auto
Also different emulation cores to choose from
my none asm creations
https://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding

Gunther

Daydreamer,

Quote from: daydreamer on May 13, 2022, 10:12:36 PM
It's in config file,different cpu type emulation settings if not auto
Also different emulation cores to choose from

I'll check that again.
You have to know the facts before you can distort them.

Gunther

Daydreamer,

I've changed cputype from auto to pentium_slow in dosbox-0.74-3.conf. This makes no difference in my installation. What's wrong with that?
You have to know the facts before you can distort them.

HSE

Hi Gunther!
It's a different build or patch: https://www.vogons.org/viewtopic.php?t=74877&start=20
Equations in Assembly: SmplMath

Gunther

HSE,

Quote from: HSE on May 14, 2022, 01:31:02 AM
It's a different build or patch: https://www.vogons.org/viewtopic.php?t=74877&start=20

yes, it seems that way. Thank you for the link. On the other hand, the Pentium is all about MMX. Who else uses that? Even 3DNow, which was highly praised at the time,
is now obsolete and deprecated. Of interest would be SSE and SSE2.
You have to know the facts before you can distort them.

_japheth

Hello,

DosEMU2 reports an 80486 only ( although I selected a Pentium in its config file - this is  an error in DosEmu )

Qemu is the best emulation IMO. If supports virtually the native cpu: attached


For file transfers, I have a raw image file, that I can mount in linux.
Dummheit, gepaart mit Dreistigkeit - eine furchtbare Macht.

Gunther

Andreas,

thanks for the screenshot of the AMD Ryzen. Are you pleased with that processor?

Quote from: _japheth on May 14, 2022, 03:08:27 AM
DosEMU2 reports an 80486 only ( although I selected a Pentium in its config file - this is  an error in DosEmu )

Since I switched from Linux to FreeBSD a few years ago, I can't really speak about that.

Quote from: _japheth on May 14, 2022, 03:08:27 AM
Qemu is the best emulation IMO. If supports virtually the native cpu: attached

Yes, it looks solid and has the possibility of life migration. Right now I'm struggling with an application that uses SSE2. DOSBox drops out and both Virtual Box
and VMWare Player crash in the process.

The program runs otherwise perfectly under plain DOS and - I almost couldn't believe it - in the XP Mode under Win 7. Unfortunately, it no longer exists under Win 10.
Maybe I'll get around to posting the program here this weekend.

Quote from: _japheth on May 14, 2022, 03:08:27 AM
For file transfers, I have a raw image file, that I can mount in linux.

Of course, that' s always a clean solution.
You have to know the facts before you can distort them.

HSE

Gunther,

Quote from: Gunther on May 14, 2022, 02:46:36 AM
...is all about MMX. Who else uses that?

Apparently some games of an specific period of time (around 2000).


Quote from: Gunther on May 14, 2022, 02:46:36 AMOf interest would be SSE and SSE2.

Some months ago I was searching that, but not luck.
Equations in Assembly: SmplMath

Gunther

HSE,

Quote from: HSE on May 14, 2022, 04:27:46 AM
Apparently some games of an specific period of time (around 2000).

you're right. After all, DOSBox is made for the DOS gamers. In this sense, of course, MMX has relevance.

Quote from: HSE on May 14, 2022, 04:27:46 AM
Some months ago I was searching that, but not luck.

No chance with the current DOSBox. It also seems that Virtual Box and VMWare Player fail to do so. But maybe there are other alternatives, who knows?
You have to know the facts before you can distort them.

_japheth

Quote from: Gunther on May 14, 2022, 03:51:46 AM
Are you pleased with that processor?

It works - but pleased? The fan is a bit too loud - that's why I prefer an 11-year-old AMD 3-core, the motherboard bought on Ebay for 3€.. Progress is an illusion.  :biggrin:
Dummheit, gepaart mit Dreistigkeit - eine furchtbare Macht.