Solved

programming BIOS Memory access

Posted on 1998-06-01
5
195 Views
Last Modified: 2010-04-27
How can I access physical memory above 1meg in an adapter BIOS that I am writing?  I need to access physical memory address like 0xE0000000.
0
Comment
Question by:eby
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 10

Expert Comment

by:rbr
ID: 1018660
Which OS and in which language?
0
 
LVL 32

Expert Comment

by:jhance
ID: 1018661
Under MSDOS, you need to get the processor into protected mode to be able to access memory above 1MEG.  The usual method is to use a DOS extender that supports DPMI or VCPI.  

Under Win95, you run into the protected memory problem.  You need to map ask Windows to map the physical address space to your process.  Another approach is to use a VxD virtual device driver which runs as a protected process and has free access to any memory location.

Under NT, you probably need to write a device driver to do wht you want.


0
 

Author Comment

by:eby
ID: 1018662
The question does not involve any OS.  The question was specifice to BIOS usage.  More clearly BIOS ROM.  More specific; PCI BIOS.
0
 
LVL 32

Accepted Solution

by:
jhance earned 140 total points
ID: 1018663
The BIOS runs in real-mode.  As such, you will have no way to access a ROM which has been located above 1MEG.  This is why the space between 640K and 1MEG is so precious.  It's the only place where you can locate a ROM and get it to run at power on.  If you have to have more space, a common practice is to place a "bootstrap" in the < 1MEG region for you adapter to catch the POST (Power on Self Test) search for an adapter BIOS and then have your BIOS extension switch to protected mode and map the ROM BIOS to a 32-bit address.  Since you're running outside the context of a 32-bit environment, you have to build everything yourself to support protected mode.
0
 

Expert Comment

by:zealsoft
ID: 5898036
Under Windows 9x/NT/2000, you can use MemAccess Library(http://www.zealsoftstudio.com/memaccess/) to access the momory and PCI BIOS.
0

Featured Post

10 Questions to Ask when Buying Backup Software

Choosing the right backup solution for your organization can be a daunting task. To make the selection process easier, ask solution providers these 10 key questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I use more than 1 computer in my office for various reasons. Multiple keyboards and mice take up more than just extra space, they make working a little more complicated. Using one mouse and keyboard for all of my computers makes life easier. This co…
What do we know about Legacy Video Conferencing? - Full IT support needed! - Complicated systems at outrageous prices! - Intense training required! Highfive believes we need to embrace a new alternative.
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question