Solved

programming BIOS Memory access

Posted on 1998-06-01
5
191 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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Windows 10 - Devices and Printers slow loading 29 1,711
Computer hardware speed units 9 109
Repair SAS HDD 5 89
what am i doing here 3 56
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.
A clone is a duplicate copy. Sheep have been cloned and maybe someday even people will be cloned, but disk cloning (performed by the hard drive cloning software) is a vital tool used to manage and protect data. Let’s look at what hard drive cloning …
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

751 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