News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Hardware Enumerator [pre-release]

Started by Raistlin, January 24, 2017, 10:19:31 PM

Previous topic - Next topic

HSE

#15
Hi Raistlin!

There is a resolution problem in 1024*768.
Equations in Assembly: SmplMath

Raistlin

Hi all - and thanks again for being guinea -pigs  :t

I've updated the application via original attachment of this forum thread start -> Ver 0.2

** Fixed (hopefully) in this version ** :
1) Windows XP crash <- due to idiocy on my part
2) Minor Display issues <- addressed possible misconceptions on the user's side
3) Added application Mutex <- single instance app
4) AMD detection <- revisited but not fully tested at all (works on my dual core QL 66)
5) Intel detection <- revisited with better NUMA break down
6) Started playing around with display enumeration <- early days

Thanks loads, much appreciated
Raistlin
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...

Siekmanski

i7-4930K  Windows 8.1

Windows OS should be 6.3
It shows 6.2 = windows 8.0  this has something to do with the manifest, see MSDN "GetVersionEx"

The rest is correct.
Creative coders use backward thinking techniques as a strategy.

Raistlin

#18
Thanks Siekmanski - thought I'd solved that  ::) - may I know you're
extended version number RE: 6.3.9200 or  6.3.9600 ? I'll double check
the manifest include.
[EDIT : FOUND THE PROBLEM - RADASM DROPPED THE MANIFEST FILE ! :eusa_naughty: (FIXED ATTACHMENT)]

As to VER0.2 :
--------------------
A) I believe the INTEL Detection side is now reasonably accurate but would
dearly love to confirm this on exotic platforms : double socket XEON's etc. anyone?

B) I'am really worried about AMD detection -  some feedback appreciated
RE: Adamanteus SSE5 question - from Wiki (yes I know it's not a legitimate source...)
The SSE5 (short for Streaming SIMD Extensions version 5) was a SIMD instruction set extension proposed by AMD on 30 August 2007 as a supplement to the 128-bit SSE core instructions in the AMD64 architecture. AMD chose not to implement SSE5 as originally proposed.

C) XP crash fix - anyone?

Thanks
Raistlin
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...

hutch--


Siekmanski

Creative coders use backward thinking techniques as a strategy.

HSE

#21
Here the system say service pack 1, but I don't how correct is the report.
Equations in Assembly: SmplMath

hutch--

One favour here, if you are going to post images, please post them on a server, adding them here as attachments takes up a lot of server space and eventually it will fill up the server.

Raistlin

Awesome HSE - thanks so much - you may delete picture as per hutch last post

Your'e AMD CPU detected perfectly ! - I'am so happy  :t
Note : System Cores report 4 but actual cores are 3 <- precisely what it should be per AMD docs
          Cache sizes and association is also correct - service pack is fine
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...

adeyblue

It doesn't crash on XPVM, but it isn't completely correct either. (link is to picture).

Looks like you're shifting the service pack version numbers right by 16, which is guaranteeing them to be 0.

mov     cx, [esi+94h]   ; SP Major
mov     dx, [esi+96h]   ; SP Minor
mov     di, [esi+98h]   ; suite mask
shr     ecx, 10h
shr     edx, 10h

Also looks like it's just picking the first display device returned rather than the one with the primary flag, though that looks to be because of a typo because there are two checks for 0 flags.

call    EnumDisplayDevicesA
or      eax, eax
jz      short locret_40147E
cmp     DisplayDevice.StateFlags, 0
jz      short loc_401479
cmp     DisplayDevice.StateFlags, 0
jz      short loc_401479


These things are both problems outside the VM too. The processor being reported as 0 MHz is specific to the VM.

EDIT: CPU-Z reports them. Also reports your L1 Data cache value as L2:

Core Speed 2371.0 MHz
Stock frequency 2400 MHz
L1 Data cache 32 KBytes, 8-way set associative, 64-byte line size
L2 Data cache 6144 KBytes, 24-way set associative, 64-byte line size
L2 cache 256 KBytes, 8-way set associative, 64-byte line size

Raistlin

Thanks adeyblue - for spotting the service pack & display issue - looks like using 'Defines' or 'equ' in RADASM is'nt guaranteed
to populate correctly - very strange..... :shock:

Will fix and update to Ver0.3 shortly - just working on the Networking and Storage portions currently. Will post soonest.

Keep well
Raistlin
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...

sinsi

Second test, running on bare metal (not a VM) - XP Pro and the latest Win 10 insider preview.

Raistlin

Thanks Sinsi - looks great !

I've now updated to Ver 0.3 - see first post attachment
- fixed reported bugs RE: service pack, display (I'am hopeful as ever  ::))
- added Network detection - socket based
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...

sinsi

Version 3 running on Win8 Pro 64 shows the wrong network - VMware Network Adapter VMnet8 - which isn't being used.
Everything else looks OK. Will try XP and 10 later.

Raistlin

Thanks Sinsi,

I believe the problem is the actual API itself within a "weak host model".
On multi-homed machines (more than 1 NIC) - I'll have to programmatic-ally figure out
the preferred Network Adapter with associated IPv4/IPv6. Ouch.. more work. :shock:
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...