Miscellaneous > 16 bit DOS Programming

Instruction Set Detection

(1/8) > >>

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:

--- Code: ---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 ...

--- End code ---
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:

--- Code: ---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 ...

--- End code ---
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.

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.
--- End quote ---

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


--- Code: ---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 ...
--- End code ---

   System two, Windows XP.


--- Code: ---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 ...
--- End code ---

   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.)

--- End quote ---

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.

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


Gunther:
Daydreamer,


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

--- End quote ---

that's not known to me. I have read the DOSBox manual and found nothing about this.

Navigation

[0] Message Index

[#] Next page

Go to full version