Link to home
Start Free TrialLog in
Avatar of gigo30
gigo30

asked on

Win 95: get bios version, video card info, more

How do I get the following information on a Windows 95 machine?
----------------------------------------------------------------------
- CPU Info:
Pentium(r) II Processor
Intel MMX(TM) Technology
GenuineIntel

----------------------------------------------------------------------
- Bios info:
Bios Date:
Bios Manufacturer:
Bios Version:
----------------------------------------------------------------------
- Video card info:
Manufacturer: ATI Tech. - EnhancedChip version: 6.10-CD80-1C
Driver Date:  3-18-1999
Driver Desc: Rage IIC AGP (English)
Current display resolution: 800 x 600
Current number of colors: 64K
DirectX Version: 4.06.00.0318

Windows 98 has much of this information in the registry, but Win 95 does not.

I'm making a configuration program which will display this info. A beta copy (which works only with Win 98) is at http://www.crosswinds.net/~robertsc/ .
Avatar of AzraSound
AzraSound
Flag of United States of America image

time to start searching thru the registry!   =)
sorry didnt read your last comment. i havent used 95 in awhile...if its not included in the registry i think you will be out of luck (especially the details)
Avatar of gigo30
gigo30

ASKER

I did a search through all of the Win 95 registry and didn't find anything with "bios" in it.
Avatar of Ark
Hi
for w98:
HKEY_LOCAL_MACHINE\Enum\Root\*PNP0C01\0000\BiosDate
HKEY_LOCAL_MACHINE\Enum\Root\*PNP0C01\0000\BiosName
HKEY_LOCAL_MACHINE\Enum\Root\*PNP0C01\0000\BiosVersion

Check if this keys are in w95

Cheers
ASKER CERTIFIED SOLUTION
Avatar of Ark
Ark
Flag of Russian Federation image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Also, take a look at these addresses:

from &HFEC71 to &HFEC91 - full bios string, which appear in the bottom of screen during boot.

Cheers
Also:
How to receive full BIOS mem dump in file:

Private Sub SaveMemToFile(StartAddr As Long, EndAddr As Long, FileName As String)
  Dim p As Byte, MemAddr As Long, sBios As String
  Dim f As Integer
  f = FreeFile
  Open FileName For Binary As f
  For MemAddr = StartAddr To EndAddr
      Call GetMem1(MemAddr + i, p)
      Put f, MemAddr - StartAddr + 1, p
  Next MemAddr
  Close f
End Sub

'Using:
Private Sub Command2_Click()
  SaveMemToFile &HF0000, &HFFFFF, "c:\tmp"
End Sub

Then look through this file in hex format and find any addresses you need.
This file contain ALL BIOS data.
'Don't start this code from NT/2000 - it couse GPF

Cheers
Hi
&H90000-&H9FFFF - most win settings (locales, fonts, date/time etc)
&HC0000-&HCFFFF - video and mouse settings (video info is at the beginning)

For processor info there is some API functions. Take a look at http://www.mvps.org/vbnet/code/system/getsysteminfo.htm

Cheers

Avatar of gigo30

ASKER

Comment accepted as answer
Avatar of gigo30

ASKER

Thanks a bunch! I also need the video info for win 95 and didn't know where in memory to get it. Now I'll try it.
Avatar of gigo30

ASKER

Doh! Is this going to work with VB4-32 bit?
Avatar of gigo30

ASKER

Can I use the msvbvm50.dll with VB4-32?
Yes, you can use this dll with vb4-32 - you need only 1 function. Butr check vb40032.dll for these functions (with QuickView). I can not check, but as far as I know there are such functions. Declaration:

Private Declare Sub GetMem1 Lib "vb40032.dll" (ByVal MemAddress As Long, var As Byte)

' or may be:

Private Declare Sub GetMem1 Lib "vb40032.dll" Alias "_GetMem1" (ByVal MemAddress As Long, var As Byte)

'I don't remember if function name start with _, if so, you need use Alias, because VB don't understand such names

Cheers
Avatar of gigo30

ASKER

Ark, thanks for your help. DO you know where I can get a listing of memory addresses which contain information like Bios version, video chip type and version, etc?
Hi
I don't know exactly addresses. When I needed them I asked in russian newsgroup on assembler and got an answer about Award bios addresses which I show above. Try to search http://www.deja.com/usenet for bios memory address or video memory address. If you need I can help you with translation of russian messages.

Cheers