VOGONS


Reply 1042 of 1074, by weedeewee

User metadata
Rank l33t
Rank
l33t
roytam1 wrote on 2025-03-17, 15:42:

@red-ray I wonder if there is a way to detect if Real FPU exists in 386/486 systems?
it seems that SIV reports FPU exists on a 80387-nonexistant win95 system.

FYI, I don't think red-ray will be back here given the crap some people pulled.
Don't bother asking me for more information about it, best to move on and maybe find another forum where red-ray still resides.

Right to repair is fundamental. You own it, you're allowed to fix it.
How To Ask Questions The Smart Way
Do not ask Why !
https://www.vogonswiki.com/index.php/Serial_port

Reply 1043 of 1074, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I remember reading it at the time; it became a big moderator cut. In my view, that crap was equally bilateral.

As the author of this software is no longer responding to this thread, it might be best to un-sticky it.

Plan your life wisely, you'll be dead before you know it.

Reply 1044 of 1074, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
roytam1 wrote on 2025-03-17, 15:42:

@red-ray I wonder if there is a way to detect if Real FPU exists in 386/486 systems?

With Windows NT then SIV uses IsProcessorFeaturePresent( PF_FLOATING_POINT_EMULATED ) which works, but this is not an option on Windows 9x. As windows emulates the FPU trying a floating operation in a __try{}__except{} block won't work and the only way I can think of is to time how long FPU instructions take. I added some code to SIV 5.81 Beta-03 that does this and it works on my 486 SX2, but I don't have a 386 that I can test it on.

If you check Menu->Machine->CPU D+W Benchmark it will be pretty obvious if there is no FPU, on my Intel 486 SX2-WT (P24) it took 133.08 seconds!

roytam1 wrote on 2025-01-01, 04:54:

I wonder if dev is still watching this thread? CPU-Z vintage edition doesn't work well in NT 3.51:
https://x.com/kurist2010/status/1873894295775961478

AFAIK CPUZ does not have a NT 3.51 device driver and NT 3.51 is not supported. The only CPU information utility I know of that does work on NT 3.51 is SIV.

Attachments

Reply 1045 of 1074, by Horun

User metadata
Rank l33t++
Rank
l33t++
red-ray wrote on 2025-04-04, 15:07:

AFAIK CPUZ does not have a NT 3.51 device driver and NT 3.51 is not supported. The only CPU information utility I know of that does work on NT 3.51 is SIV.

Thanks !

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 1046 of 1074, by roytam1

User metadata
Rank Newbie
Rank
Newbie
red-ray wrote on 2025-04-04, 15:07:
With Windows NT then SIV uses IsProcessorFeaturePresent( PF_FLOATING_POINT_EMULATED ) which works, but this is not an option on […]
Show full quote
roytam1 wrote on 2025-03-17, 15:42:

@red-ray I wonder if there is a way to detect if Real FPU exists in 386/486 systems?

With Windows NT then SIV uses IsProcessorFeaturePresent( PF_FLOATING_POINT_EMULATED ) which works, but this is not an option on Windows 9x. As windows emulates the FPU trying a floating operation in a __try{}__except{} block won't work and the only way I can think of is to time how long FPU instructions take. I added some code to SIV 5.81 Beta-03 that does this and it works on my 486 SX2, but I don't have a 386 that I can test it on.

If you check Menu->Machine->CPU D+W Benchmark it will be pretty obvious if there is no FPU, on my Intel 486 SX2-WT (P24) it took 133.08 seconds!

roytam1 wrote on 2025-01-01, 04:54:

I wonder if dev is still watching this thread? CPU-Z vintage edition doesn't work well in NT 3.51:
https://x.com/kurist2010/status/1873894295775961478

AFAIK CPUZ does not have a NT 3.51 device driver and NT 3.51 is not supported. The only CPU information utility I know of that does work on NT 3.51 is SIV.

BTW I heard that you can use SMSW instruction to get lower 16bit of CR0 register, so it can be used for checking EM bit.
https://x.com/vyv03354/status/1902278537660526647

Reply 1047 of 1074, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
roytam1 wrote on 2025-04-05, 01:14:

BTW I heard that you can use SMSW instruction to get lower 16bit of CR0 register, so it can be used for checking EM bit.

Thank you for the pointer, I had a look at SMSW and read:

However, it is not a privileged instruction and can be used in application programs if CR4.UMIP = 0. It is provided for compatibility with the Intel 286 processor. Programs and procedures intended to run on IA-32 and Intel 64 processors beginning with the Intel386 processors should use the MOV CR instruction to load the machine status word.

So it will fail if CR4.UMIP != 0 and I don't know if it's possible to check CR4 in user mode. In the end I felt SIV should do SMSW in a __try()__except{} block and if there is an exception revert to the time FPU instructions take.

What happens with the attached SIV32L V5.81 FPUe-03 test SIV on your W95 i386 system? Please post screen shots of the Initial Screen and Menu->Hardware->CPU Detail->CPU Present. Ideally also do Menu->File->Save Local and post the save file.

SIV looks better in you install the Tahoma font which you can get via download/file.php?id=216286.

Last edited by red-ray on 2025-04-06, 06:42. Edited 1 time in total.

Reply 1048 of 1074, by roytam1

User metadata
Rank Newbie
Rank
Newbie
red-ray wrote on 2025-04-05, 08:50:
Thank you for the pointer, I had a look at SMSW and read: […]
Show full quote
roytam1 wrote on 2025-04-05, 01:14:

BTW I heard that you can use SMSW instruction to get lower 16bit of CR0 register, so it can be used for checking EM bit.

Thank you for the pointer, I had a look at SMSW and read:

However, it is not a privileged instruction and can be used in application programs if CR4.UMIP = 0. It is provided for compatibility with the Intel 286 processor. Programs and procedures intended to run on IA-32 and Intel 64 processors beginning with the Intel386 processors should use the MOV CR instruction to load the machine status word.

So it will fail if CR4.UMIP != 0 and I don't know if it's possible to check CR4 in user mode. In the end I felt SIV should do SMSW in a __try()__except{} block and if there is an exception revert to the time FPU instructions take.

What happens with the attached SIV32L V5.81 FPUe-03 test SIV on your W95 i386 system? Please post screen shots of the Initial Screen and Menu->Hardware->CPU Detail->CPU Present. Ideally also do Menu->File->Save Local and post the save file.

SIV looks better in you install the Tahoma font which you can get via download/file.php?id=216286.

sure.

Attachments

  • Snap2.png
    Filename
    Snap2.png
    File size
    24.16 KiB
    Views
    327 views
    File license
    Public domain
  • Snap1.png
    Filename
    Snap1.png
    File size
    22.11 KiB
    Views
    327 views
    File license
    Public domain

Reply 1049 of 1074, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
roytam1 wrote on 2025-04-06, 03:15:

sure.

Thank you, I see FPU is still reported, but from just the screen shots it's impossible to figure out why so I have added some code that may help.

What happens with the attached SIV32L V5.81 SMSW-03 test SIV on your W95 i386 system please? As a minimum I need screen shots of the Initial Screen, Menu->Hardware->CPUID->CPU-0 and Menu->Hardware->CPU Detail->CPU Present, to give me the best chance of figuring out what is going on do Menu->File->Save Local and post the save file. If you don't wish to post it you could PM or email it to me.

This would be almost trivial to figure out if I had an i386 without an FPU W95 system here, but I don't even have an i386 motherboard.

Last edited by red-ray on 2025-04-06, 10:24. Edited 1 time in total.

Reply 1050 of 1074, by roytam1

User metadata
Rank Newbie
Rank
Newbie
red-ray wrote on 2025-04-06, 09:01:
Thank you, I see FPU is still reported, but from just the screen shots it's impossible to figure out why so I have added some co […]
Show full quote
roytam1 wrote on 2025-04-06, 03:15:

sure.

Thank you, I see FPU is still reported, but from just the screen shots it's impossible to figure out why so I have added some code that may help.

What happens with the attached SIV32L V5.81 SMSW-03 test SIV on your W95 i386 system please? As a minimum I need screen shots of the Initial Screen, Menu->Hardware->CPUID->CPU-0 and Menu->Hardware->CPU Detail->CPU Present, to give me the best chance of figuring out what is going on do Menu->File->Save Local and post the save file. If you don't wish to post it you could PM or email it to me.

This would be almost trivial to figure out if I had an i386 without an FPU W95 system here, but I don't even have an i386 motherboard.

tried with your today's build:

Attachments

  • Snap2.png
    Filename
    Snap2.png
    File size
    22.65 KiB
    Views
    300 views
    File license
    Public domain
  • Snap1.png
    Filename
    Snap1.png
    File size
    18.73 KiB
    Views
    300 views
    File license
    Public domain

Reply 1051 of 1074, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
roytam1 wrote on 2025-04-06, 10:22:

tried with your today's build:

Thank you, I think it's got FPU correct, but I should check the save files.

I managed to get Windows 95B V4.00 Build 1111 B running on my AMD Athlon M2 (Pluto) and think I have found the root cause of many of the strange effects, it seems that GetSystemInfo() fails to setup the wProcessorLevel + wProcessorRevision members of the SYSTEM_INFO block! Depending on what happened to be there SIV may have not worked as it should so I changed the code to compensate for this Windows 95B bug.

What happens with the attached SIV32L V5.81 Tidy-03 test SIV on your W95 i386 system please? Please do Menu->File->Save Local and post, PM or email me the save file.

Looking at the 2003 documentation Windows 95 is not mentioned, but it is in the January 1999 MSDN library.

Attachments

Last edited by red-ray on 2025-04-11, 09:01. Edited 1 time in total.

Reply 1052 of 1074, by roytam1

User metadata
Rank Newbie
Rank
Newbie
red-ray wrote on 2025-04-06, 10:37:
Thank you, I think it's got FPU correct, but I should check the save files. […]
Show full quote
roytam1 wrote on 2025-04-06, 10:22:

tried with your today's build:

Thank you, I think it's got FPU correct, but I should check the save files.

I managed to get Windows 95B V4.00 Build 1111 B running on my AMD Athlon M2 (Pluto) and think I have found the root cause of many of the strange effects, it seems that GetSystemInfo() fails to setup the wProcessorLevel + wProcessorRevision members of the SYSTEM_INFO block! Depending on what happened to be there SIV may have not worked as it should so I changed the code to compensate for this Windows 95B bug.

What happens with the attached SIV32L V5.81 Tidy-03 test SIV on your W95 i386 system please? Please do Menu->File->Save Local and post, PM or email me the save file.

Looking at the 2003 documentation Windows 95 is not mentioned, but it is in the January 1999 MSDN library.

now it says differently:
If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_INTEL, wProcessorLevel is defined by the CPU vendor.

from https://learn.microsoft.com/en-us/windows/win … api-system_info

tried to Save Local but the benchmarks takes very long time to benchmark.

Reply 1053 of 1074, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
roytam1 wrote on 2025-04-06, 11:49:

now it says differently:
If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_INTEL, wProcessorLevel is defined by the CPU vendor.

If there is an issue with a section then do Menu->File->Save->Save Selected and uncheck that section. It takes 136.43 Seconds on my Intel 486 SX2-WT (P24) @ 67MHz so can't you just wait?

What is the point of telling me what the current document specified when we are dealing with Windows 95? That document not even mention W9x + NT3 + NT4 and the Jan 1999 information I posted is far more relevant. Clearly when programming for old systems you need to use the old documentation which is why I have the Jan 1999 readily available on this system.

Last edited by red-ray on 2025-04-11, 09:02. Edited 1 time in total.

Reply 1054 of 1074, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie

Intel i486 DX2 SX807 CPUs, two variants? I have recently been adding the i486 S-Specs panel to SIV and am wondering if there are two variants of the Intel i486 DX2 SX807. Looking at https://www.cpu-world.com/sspec/SX/SX807.html then the SX807 CPUID is listed as 0435 as does https://www.ardent-tool.com/CPU/486_Step.html, but I have a SX807 and it's CPUID 0436! So there seem to be two variants. If you have an i486 DX2 SX807 please will you post what it's stepping is.

file.php?mode=view&id=216680

Attachments

  • RI4-DX2.png
    Filename
    RI4-DX2.png
    File size
    445.19 KiB
    Views
    207 views
    File comment
    i486 DX2 SX807 CPUID 0436
    File license
    Public domain

Reply 1055 of 1074, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie

You can probably clean off the top surface of that SX807 to find out what it really is. Looks like an obvious fake to me. IPA will probably remove the top layers of paint.

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 1056 of 1074, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
debs3759 wrote on 2025-04-10, 14:44:

Looks like an obvious fake to me. IPA will probably remove the top layers of paint.

Thank you, the consensus seems to be it's a fake and really 486DX2-50 SX954, I wonder, why did they make it a 486DX2-66 SX807 rather than a 486DX2-66 SX955 which has the same CPUID 0436 and be far less obvious?

It happily runs @ 66MHz, will post @ 80 MHz, but Windows won't start. I wonder if a 486DX2-66 SX955 will run @ 80 MHz.

Reply 1057 of 1074, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
debs3759 wrote on 2025-04-10, 14:44:

IPA will probably remove the top layers of paint.

I tried IPA with no luck when got my digital callipers out, the fake is 2.70 mm thick and all my other i486 are at least 2.85 mm so I expect they skimmed it then added fake markings

Reply 1058 of 1074, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
RayeR wrote on 2025-04-11, 01:45:

BTW I run SIV 5.80 on my main PC and my i7-2600K is detected incorrectly as "Intel Core i5 Quad 2510K (Sandy Bridge) 3.40GHz [D2]"
The correct CPU name string can be read from CPUID ("CPU name: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz") so I wonder where SIV read it from...

I expect SIV reported "CPU name: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz" two lines below "Intel Core i5 Quad 2510K (Sandy Bridge) 3.40GHz [D2]".
SIV works out i7/i5/i3 from the number of cores + threads + a few other things so it can report Engineering Sample CPUs that don't report the name via CPUID 80000002/80000003/80000004, see Menu->Hardware->CPUID->CPU-0

After thinking about this I checked and have several i7-2600K SIV save files and with them SIV correctly reports Intel Core i7 Quad 2600K (Sandy Bridge) 3.40GHz [D2]

file.php?id=216760

Please do Menu->File->Save Local and post/PM/email me the two save files so I figure out why you see the issue and fix it.

Attachments

Reply 1059 of 1074, by RaVeNsClaw

User metadata
Rank Newbie
Rank
Newbie

Attached are "Save Local" reports of some old GPUs under NT4.0:
- 3Dlabs GLint MX + GLint Delta
- Number Nine Imagine 128
- Number Nine Imagine 128 II
- Matrox Impression Plus
- Matrox Millennium MGA-2064W-R3
- 3Dlabs Permedia NT
- Ati Rage II + DVD
- Intergraph RealiZm Z13

System:
Pentium 3, 1000 MHz, 256kB cache
Asus CUBX, 440BX
Soundblaster 128
Win98SE

Attachments