System information

4 Graphic Card Implementation
Port Address Description
0x3B0 - 0x3BB MDA register
0x3C0 - 0x3DF VGA register
Table 4.2: VGA I/O ports controlling the video mode.
To be downward compatible with older display standards, the address window and I/O
ports of the MDA
2
are part of the VGA standard but they are extremely rarely used in
modern computer systems. The address window of a VGA card is smaller than the size
of the video memory. There are several ways to access the video memory within the VGA
address window. The access mechanism depends on the running video mode. In principal,
there are five different access methods.
4.1.4 Addressing of the Video Planes
The video planes can be accessed within the framebuffer address window. The mapping
between the address window and the video memory depends on the video mode. The
problem is that the address window is smaller than the size of all four video planes. There
is no way for a direct linear mapping of the address window and all video planes. In
principal, the modes use two different kinds for the VGA address mapping.
Address Byte Selection The first kind of video plane selection is the usage of the last
bits of the address to select a video plane. However, the VGA graphic address window is
only 64 KB in size. Using the last bits for plane selection reduces the addressable memory
inside a video plane. For example, addressing all four video planes reduces the available
address bits by two.
Plane Select Register The second method to access the video planes is the usage of a
plane select register. The offset of the VGA address window is directly mapped to the VGA
planes. The whole 64 KB of a plane can be accessed. The plane select register is called Map
Mask Register and selects which one of the planes is mapped to the VGA address window.
But it is possible to select more than one plane. Thereby, it is possible to write data to all
planes simultaneously.
4.2 Graphic Card Implementation Layout
Basically, the VGA function of the CHARM is realized by a hardware-software co-design.
Normally, a graphic card processes the VGA data from the host in hardware. But by
the reason of the complicated VGA protocol and the limited resources of the used FPGA,
the CHARM handles the VGA requests by software. Hardware development of the VGA
function is more difficult than developing a software solution. The performance of the
2
Monochrome Display Adapter, a graphic card which can only display two different colors.
46