Accessing BIOS NVRAM ?

Does anyone know how to access BIOS NVRAM address space?
I believe it can be done in 'Ring 0' but I'm not sure how.
I want to be able to modify a few bytes using VB6 and TVicHW52 . I'm running WIN98se.

Any help greatly appreciated.
aztaracAsked:
Who is Participating?
 
Rob_JeffreyConnect With a Mentor IT/ProgrammingCommented:
Right - missed that.  
Sorry - I simply skimmed over the body.

Unless you want to get into device driver (DDK) devekopment - it doesn't look easy.
The entire problem is - viruses.  Because some lousy people have written some pretty nasty things in the past there is a lot of hidden and proprietary information regarding the NVRAM these days.

What is it you are trying to do?  Perhaps we can come at it from another angle?
0
 
aztaracAuthor Commented:
I looked at that thread before I posted my question.

The 'accepted answer' does state that the way to write is not known.

The following Microsoft link for Bios writers may offer some clues...but I dont understand it:

>Writing to CMOS NVRAM
>BIOS code should write to CMOS NVRAM by generating a system management interrupt (SMI). AML code can generate a SMI by writing a specific value to the SMI command port. AML code can pass the CMOS offset and value to be written through the NVRAM memory operation region. The BIOS SMI handles the writes to CMOS, and also updates the memory area pointed by the CMRM operation region to reflect the correct CMOS contents.

Full text:
http://www.microsoft.com/whdc/system/pnppwr/powermgmt/BIOSAML.mspx

I'm still hoping for a solution:(

0
 
DanRollinsConnect With a Mentor Commented:
You may be able to install a device drive that will allow access to I/O ports.  Here's one:
    http://www.driverlinx.com/DownLoad/DlPortIO.htm

This article appears to be on point:
    Pop Open a Privileged Set of APIs with Windows NT Kernel Mode Drivers
    http://www.microsoft.com/msj/0398/driver.aspx

But I agree with Rob_Jeffrey:  If you describe your ultimate goal, it might be possible to find a way to avoid this low-level grunging.  Whenever there is a legitimate need for standard programs to access low-level resources, there is often an more direct way to do it.  So what's on your mind?

-- Dan
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.