
5-2
I/O and Memory Address Maps
`efmp69030 Databook
Revision 1.3 11/24/99
Address Maps for Going Beyond VGA
This graphics controller improves upon VGA by providing additional features that are used through
numerous additional registers. Many of these additional registers are simply added to the sub-indexing
schemes already defined in the VGA standard, while others are added through sub-indexing schemes using
additional I/O address locations 3D0-3D3 and 3D6-3D7. This graphics controller also provides for the
memory-mapping of both the standard VGA and these additional registers alongside I/O-mapping. All of
the registers that are accessible via I/O addresses 3B0 through 3DF are also accessible at offsets 400760
through 4007BF from the starting address of the upper memory space. Still more of these additional
registers are 32 bits wide and for performance reasons are accessible exclusively at other offsets from the
starting address of the upper memory space.
This graphics controller also supports 1 or more megabytes of frame buffer memory -- far larger than VGA’s
standard complement of 256KB. As an improvement upon the VGA standard frame buffer port-hole, this
graphics controller also maps the entire frame buffer into part of a single contiguous memory space at a
programmable location, providing what is called “l(fā)inear” access to the frame buffer. The size of this memory
space is 16MB (however, the frame buffer does not fill this entire memory space), and the base address is
set through a PCI configuration register.
Most aspects of the host interface of this graphics controller are configured through a set of built-in PCI-
compliant setup registers. The system logic accesses these registers through standard PCI configuration
read and write cycles. Therefore, the exact location of the PCI configuration registers for this graphics
controller, as well as any other PCI device in the system I/O or memory address space depends on the
system logic design and the system software that configures the system.
Lower Memory Map
I/O and Sub-Addressed Register Map
Table 5-1:
Lower Memory Map
Address Range
Function
Size in Bytes
A0000-AFFFF
VGA Frame Buffer
64KB
B0000-B7FFF
MDA Emulation Character Buffer
32KB
B8000-BFFFF
CGA Emulation Frame Buffer
32KB
C0000 up to CFFFF
VGA BIOS ROM
up to 64KB
Table 5-2:
I/O and Sub-Addressed Register Map
I/O
Address
Memory Offset
Read
Write
3B0-3B3
3B4
400768 & C00768
CRTC Index (MDA Emulation)
3B5
400769 & C00769
CRTC Data Port (MDA Emulation)
3B6-3B9
3BA
400774 & C00774
Input Status Register 1 (ST01)
(MDA Emulation)
Feature Control Register (FCR)
(MDA Emulation)
3BB-3BF
3C0
400780 & C00780
Attribute Controller Index
Attribute Controller Index and Data
Port