Re: question about system memory space mapping

From: Herman Dullink (spamtrap_at_crayne.org)
Date: 10/19/04


Date: Tue, 19 Oct 2004 21:51:17 +0000 (UTC)


> Is there any book/tutorial which details how various chipsets/controllers
> are programmed during POST and how does host bridge recognize all the
> other bridges/devices and assign address ranges to them?
All there is are databook (which you probably already have). All other
material would
be property of the BIOS makers.

> Can the video adapter work under both graphic mode and text mode at the
> same time?
Depends on what you mean by that. A modern video adapter is quite a complex
thing.
It's usually made up of several independant working units. For you, the most
important
units are the one that reads from the video memory and outputs to the
screen,
and the unit that's between the video memory and the bus (and the CPU).
To accomodate the various video modes, the later unit provided different
addressing
modes/decodings for the CPU. One for text, a few for 1, 2 and 4 bit graphic
modes,
and a couple for 8-bit and direct colour modes.
It's very possible to program the first unit to use 32-bit colour, and then
use a 4-bit
addressing mode to quickly copy vid to vid with 128 bits per access using
the bit
buffers of this addressing mode.

> Suppose I have a PCI video adapter and the frame buffer base address is
> mapped to physical address 0xe1000000. When I put data to this physical
> address, the screen would be overwritten. But if at the same time I write
> to physical address a0000-bffff, what would happen?
This is all about address decoding. For the video adapter it's all he same
memory.
The a0000-bffff range is used for DOS compatibility, and allows up to 128KB
of the video RAM being visible for the CPU in the 1MB range.

Beware that that physical address 0xe1000000 is a 'reserved' range for you
video
adapter. No actual video memory is accessed at that range until the video
adapter
is told that it also should decode that range.
To have access the video RAM at both 0xe1000000 and a0000, you have to
enable both address ranges using the registers on the video adapter.
As these registers are very specific for a video adapter, you have to look
into
the corresponding data book how this is done. This is the main reason we
have
video drivers. It's the piece of software that has the device specific code.

H



Relevant Pages

  • Re: Directx9.0c
    ... D/load and install the most recent video adapter drivers from either the ... If you don't know the make/model of video adapter, d/load, install and run ... > under display it says "This system is using a generic video driver. ...
    (microsoft.public.windowsxp.help_and_support)
  • Re: Problem with M2N32 WS Pro
    ... 6000+, 2MB of Corsair RAM, one PCIE video card, one PCIX SCSI ... No video output, no ... Usually reseating the video adapter ... My video adapter is a RADEON X1600. ...
    (alt.comp.periphs.mainboard.asus)
  • Re: DC10 and Pinnacle 9 problem
    ... Pinnacle 9SE ... Video Adapter: NVIDIA GeForce4 MX 4000 ... VIA AC'97 Enhanced Audio Controller ...
    (rec.video.desktop)
  • Re: Question On New AMD
    ... video editing and some websurfing/audio editing....this system can have its memory upgraded for now im going with min due to cost...The game im getting ... You'll really want to have an AGP or PCI Express Video adapter with at least 128Mb of its own dedicated video RAM. ... If you don't want to install a decent video adapter, you'll definitely need to increase the system RAM to compensate for the amount consumed by the video adapter. ... They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. ...
    (microsoft.public.windowsxp.general)
  • Re: change screen resolution in wince
    ... The lowest resolution 320 x 240 is the only one that can use the normal 64Kb ... video window in lower memory. ... This works with almost any video adapter. ... One line in video memory will be 1024 pixels long instead of 800 ...
    (microsoft.public.windowsce.embedded)