• Please review our updated Terms and Rules here

is it possible to detect which 386 processor is?

roytam1

Member
Joined
May 2, 2012
Messages
21
in 486 era, there is some ways to detect which 486 processor in the system, like CPUID, Cyrix's 5/2 test.
but what about 386 and compatibles? is it possible to detect if it is Intel/AMD or clones like the one in Pocket386?
 
there is good info here: https://www.geoffchappell.com/studies/windows/km/cpu/precpuid.htm

known bugs affecting some 386s are POPAD and MUL. undocumented instructions existing on some 386s are IBTS, LOADALL, SMI, UMOV, XBTS. This AMD datasheet mentions the identifying values in the DX register after reset: https://www.amd.com/content/dam/amd/en/documents/archived-tech-docs/datasheets/21020.pdf

Also I remember from back in the day that Linux has this test for the behavior of the write protect bit in supervisor mode. I'm assuming that some processor did NOT honor the setting, although I don't know which one(s). https://kernelnewbies.org/FAQ/TestWpBit
 
DX value after CPU reset is good, but it could be quite difficult to use in complicated environments like windows.
 
I did some testing with a snippet of code provided by the manufacturer of the Ali chipset, but it lacked specificity: it detected any 386 processor not just their own.

IMHO, the best way to detect a Pocket/Book family of products is to query the processor type, the specific video display adapter, and the BIOS ID. But even after filtering all those specs, you may still get a few false positives.

Regarding other types of 386 processors, the most common Intel and its direct competitors (AMD, Cyrix, etc.) are well documented. The ones which are more difficult and error prone to detect are all the embedded third party variants which are mostly found on industrial SBC's and embedded special purpose devices.
 
Back
Top