Adaptadores de vídeo
Códigos de atributo
Ram de
Video
Gen. de
atributos
Códigos de carácter
BUS
CRTC
SH
Gen. de
caractere
s
ROM de
tramas
SHIFT REG
Información de
sincronismo
Gen de
señales
de vídeo
SV
D
Generador de Señales de vídeo
Encargado de general las señales analógicas
SH Sincronismo Horizontal
SV Sincronismo Vertical
D Señal de datos
Está dirigido por el CRTC que determina la
frecuencia de cada señal
Control del monitor
Sincronismo
Horizontal
Sincronismo
Vertical
La frecuencia de la señal SH determina la
resolución por filas
La frecuencia de la señal SV determina la
cantidad de imágenes por segundo
(refresco)
La frecuencia de la señal de datos
determina la resolución por columnas
SV. Se recomienda una frecuencia no
inferior a 60Hz
Por debajo de esta frecuencia surge el
parpadeo
Cuanto mayor sea la frecuencia, más estable
es la imagen
Pero la tarjeta gráfica debe proporcionar mayor
cantidad de información por unidad de tiempo
• 60Hz=60 Imágenes/seg
SH. Determina la resolución por filas.
En los monitores actuales esta frecuencia es
regulable.
SV/SH=filas.
30KHz/60Hz=500 filas
• A este número de filas se le restan aquellas que se
generarían durante el tiempo de retorno vertical de
cañón
(del orden de decenas de filas)
D. Codifica por cada punto los atributos
de intensidad y color.
Su frecuencia determina el número de
puntos por columna.
D/SH= Puntos
30MHz/30kHz =1000 puntos
• A estos puntos se le resta el número de puntos que se
generarían durante el retorno horizontal ( centenas )
Esta señal es regulable
Pitch.
Todas la señales anteriores tienen
limitaciones físicas.
SV: limitada por la movilidad física del cañón de
electrones
SH: limitada por la capacidad de desplazamiento
mínimo del cañor
D: limitada por el Pitch.
• Area mínima individualizable en la pantalla.
Resolución vs pulgadas
Las pulgadas determina el área de pantalla
Las pulgadas + el Pitch dan la resolución
máxima
162=(0.27*0.039*filas)2+(0.27*0.039*columnas)2
• (columnas=1.3*filas)
– filas=926 columnas=1204
 CRT (tubo de imagen)
 Tamaño de punto 0.27 mm • Tamaño horizontal0.23 mm
 La función Autoscan cubre frecuencias horizontales de hasta 70 KHz y ofrece una
resolución máxima de 1280 x 1024 con visualización sin parpadeo de 1024 x 768 a
frecuencias de hasta 88 Hz








FósforoP22
Área de pantalla recomendada12.0" x 9.0" / 306 x 230 mm
Área de pantalla máxima12.9" x 9.7" / 327 x 245 mm
EXPLORACIÓN
Horizontal scanning30 - 70 KHz
Vertical scanning50 - 160 Hz
VÍDEO
Frecuencia de punto de vídeo108 MHz
Modo carácter
La entrada al controlador es un código de
carácter. Generalmente ascii
El controlador utiliza este código como
índice en una lista de tramas
Por cada carácter representable hay una
matriz de puntos que representa el
carácter visualmente
Intervienen dos memorias:
RAM. Donde se depositan los códigos de carácter
Y el atributo con que va a ser representado
Cada localización en la RAM representa una posición
en la pantalla del monitor
Al conjunto de localizaciones que completa una
pantalla se le llama página
El tamaño de la página depende de la resolución
actual.
RAM
0
1
2
3
4
5
6
h
o
l
a
ROM
h
o
l
a
ROM
Contiene las tramas de cada carácter
representable.
Cada trama tiene una versión por cada
resolución posible
Cada trama está indexada por el código de
carácter y la resolución
La RAM de VÍDEO en el PC se encuentra entre
las direcciones A000:0000 y B000:FFFF
La dirección depende del estándar de vídeo.
La extensión depende de la resolución
• ej: 80x25= 2000 caracteres x2byte/caracter=4000 bytes
Las localizaciones pares contienen el código de
carácter y las localizaciones impares el código
de atributo (diferente según el estándar de
vídeo utilizado)
Modo gráfico
La entrada al controlador es el atributo de color
e intensidad de cada pixel de pantalla.
La identificación de las localizaciones de RAM de
VÍDEO con los píxeles de pantalla depende de la
resolución empleada y la disponibilidad de
memoria
se emplean diferentes estrategias para codificar el
color.
Directa: las localizaciones de RAM se asocian
directamente con el color del pixel
1 bit - 1 pixel: 2 colores
• 800x600= 480000 puntos 60K bytes
4 bits - 1 pixel: 16 colores
• 2MB
8 bits - 1 pixel: 256 colores
• ¡uf!
Para resoluciones medianamente grandes
resulta excesiva la cantidad de memoria
 Paletas de color. Las localizaciones de RAM
representan un código en una paleta
4 bits- paleta de 16 colores
8 bits- paleta de 256 colores
 Una paleta es una pila de registros que contienen el
verdadero código de color
 El controlador puede ofrecer varias paletas simultáneas,
pero únicamente habrá una activa a la que se refieren
todos los códigos de la RAM
RAM
4
5
...
4
5
R|G|B
R|G|B
...
PALETA DE
16
COLORES
Planos de color. Es una manera de encajar un
conjunto de direcciones de memoria en un
espacio de direcciones 4 veces menor.
A cada dirección se le asocian realmente 4
localizaciones de memoria
naturalmente se requiere un selector para decidir el
acceso a una de las cuatro localizaciones
codifican el color del pixel.
almacenan páginas gráficas alternativas.
RAM de
Vídeo
0
1
64
kB
Espacio de
direcciones
en el PC
0
1
Paleta
0101
0
1
2
4
5
6
.
.
.
Por cada bit del Espacio
256KB
de direcciones se
almacenan 4 bits en la
RAM de Vídeo
Acceso Indexado. El espacio de direcciones
de Pantalla es utilizado como una ventana para
acceder a la RAM de VÍDEO
La RAM de VÍDEO se divide en páginas que son
traídas al espacio de direcciones por petición
El tamaño de página determina la
“granularidad”, siempre menor que 64KB
(espacio de direcciones disponible)
Estándares de Vídeo
MDA. El primer estándar de vídeo
Monocromo. Sólo modo carácter
•Espacio de Memoria: B000h, 4kB
•Resolución: 720x350
•Páginas de texto: 1
•Colores: 2
•Controlador CRTC 6845
•FH: 18432kHz
•Puertos: 3b0h-3bfh
•FV: 50Hz
•Matriz de carácter: 9x14
•FD:16.257MHz
mda
 Las direcciones de puerto permiten acceder a los registros del CRTC
para configurar las frecuencias de las señales SH,SV,D.
 Además otros registros están relacionados con el control de color y
estado
 Registro de control(3B8h):
bit5: Interpretación del bit 7 de atributo: Intermitencia(1)
Intensidad(0)
bit 3: Crear imagen de vídeo
bit 0: siempre a 1
 Registro de estado:
bit3: estado del pixel actual
bit 0: Sincronización horizontal activa
HCG(Hercules)
 Permite modo texto (80x25) y modo gráfico(720x384)
 64kbytes de RAM (2 páginas)
B000:0000...B000:7FFF
B000:8000...B000:FFFF
 Registro de configuración(3BFh):
bit 0: activar modo gráfico
bit 1: usar segunda página
 Registro de Control(3B8h)
bit
bit
bit
bit
1:
3:
5:
7:
modo gráfico (1) o texto (0)
generar señal de vídeo
Intermitencia(1) o intensidad(0)
mostrar página 0 ó 1
El registro de estado
incorpora además
un bit de
información sobre el
sincronismo vertical
CGA
Parámetro
Modo texto
Dirección base
B800h
Tamaño RAM
16kb
Páginas
4/8
Controlador
Puertos
Matriz de carácter
Máxima resolución
Colores (max)
16
FH 15.75kHz
FV 60Hz
DH 14.30MHz
Modo Gráfico
B800h
16Kb
1
crtc 6845
3D0h-3DFh
8x8(7x7,5x7)
640x200(2 colores)
4
cga
CGA: Modo texto.
Su matriz de caracteres es de 8x8
Admite dos resoluciones en modo carácter
80X25: Cada página tiene 4kbytes (4 páginas)
• Base en B800:0000h
– 2ª en B800:1000; 3ª en B800:2000...
40x25: Cada página tiene 2kbytes (8 páginas)
• Base en B800:0000h
– 2ª en B800:0800; ...
cga
CGA: Modo Gráfico
320x200; 4 colores de 16: ((320*200)*2)/8=16000 BYTES
Base en B800:0000
• primero aparecen las líneas pares, 4 puntos por byte
• a partir de B800:2000 las líneas impares...
640x200, 2 colores de 16: ((640*200)*1)/8=16000 BYTES
• igual al modo anterior salvo que cada pixel es representado por un bit
CGA
 Registros
Selección de modo 3D8h
• Representación de caracteres
• modo texto o gráfico
• señal de color (sólo gris)
•Señal de vídeo
•modo gráfico 640x200
•Parpadeo/Intensidad
Registro de estado(3DAh)
• Sincronización horizontal
• Lápiz óptico
• Sincronización vertical
Registro de control (3D9h)
• Color de fondo en gráfico 320x200
• Color de fondo intensivo en texto
• Número de paleta de color en 320x200
ega
Parámetro
Modo texto
Modo Gráfico
Dirección base
B800
A000
Tamaño RAM
64-256KB
Páginas
1-8
Controlador
EGA-CRTC
Puertos
3D0h-3DFh
Matriz de carácter
8X14, 8X8
Máxima resolución
640X350
Colores (max)
16 de 64
FH 15.7kHz..21.8kHz
FV 60Hz
DH 14.3MHz..16.3MHz
ega
 Permite definir un juego de matrices de carácter (además de los
que ofrece en la ROM)
 Se puede trabajar con dos juegos de caracteres simultáneamente.
Un bit del atributo del carácter selecciona entre ambos
 Permite dividir la pantalla en dos zonas que reciben datos de
diferentes zonas de la RAM
 Permite dividir la RAM en planos que se pueden mostrar
alternativamente
vga
Parámetro
Dirección base
Tamaño RAM
Páginas
Controlador
Puertos
Matriz de carácter
Máxima resolución
Colores (max)
FH 31.5kHz
FV 50Hz..70Hz
DH 28MHz
Modo texto
B000
Modo Gráfico
A000
256KB
1-8
VGA-CRTC
3B0h-3DFh
9X16, 8X8
640X480
256 de 218
vga
 Introducción de los monitores analógicos
 la señal de datos del adaptador hacia el monitor es analógica lo que
permite generar los 218 niveles de color
 la tarjeta incorpora un conversor digital analógico.
 Permite hasta 8 tablas de caracteres simultáneas
Super-vga
 No existe un estándar super-vga.
 Las tarjetas con capacidades superiores a la vga no concuerdan en
cuando a las características de los nuevos modos de texto y gráfico que
ofrecen
 Tampoco lo hacen en cuando a los registros que es necesario
manipular ni los modos de encajar la RAM de vídeo en el estrecho
espacio de direcciones ofrecido por el PC
 Por ello se trató de llegar a un estándar con respecto a estas
tarjetas de alta resolución: VESA
 En esta especificación se describen determinadas características que
deben ofrecer las tarjetas de cara al usuario, de manera que éste no
tenga que verse implicado en el hardware específico de la misma:
VBE: VESA BIOS extension
Bios de VIDEo
 La interrupción de vídeo en BIOS es la 10h
 La primera función y más importante es establecer el modo.
 Asociado con cada uno de los estándares y las opciones que ofrecen
existe un número (“modo”) invocando el cual el adaptador, si lo
soporta, se comporta como un determinado estándar bajo un
determinado modo de texto o gráficoI
INT 10,0 - Set video mode
INT 10,1 - Set cursor type
INT 10,2 - Set cursor position
INT 10,3 - Read cursor position
INT 10,4 - Read light pen
INT 10,5 - Select active display page
INT 10,6 - Scroll active page up
INT 10,7 - Scroll active page down
INT 10,8 - Read character and attribute at cursor
INT 10,9 - Write character and attribute at cursor
INT 10,A - Write character at current cursor
INT 10,B - Set color palette
INT 10,C - Write graphics pixel at coordinate
INT 10,D - Read graphics pixel at coordinate
INT 10,E - Write text in teletype mode
INT 10,F - Get current video state
INT 10,10 - Set/get palette registers (EGA/VGA)
INT 10,11 - Character generator routine (EGA/VGA)
INT 10,12 - Video subsystem configuration (EGA/VGA)
INT 10,13 - Write string (BIOS after 1/10/86)
INT 10,14 - Load LCD char font (convertible)
INT 10,15 - Return physical display parms (convertible)
INT 10,1A - Video Display Combination (VGA)
INT 10,1B - Video BIOS Functionality/State Information (MCGA/VGA)
INT 10,1C - Save/Restore Video State (VGA only)
INT 10,FE - Get DESQView/TopView Virtual Screen Regen Buffer
INT 10,FF - Update DESQView/TopView Virtual Screen Regen Buffer
AH=0 Activar el modo de vídeo
AH=0Fh Obtener el modo de vídeo
AL = 00 40x25 B/W texto (CGA,EGA,MCGA,VGA)
= 01 40x25 16 colores, texto (CGA,EGA,MCGA,VGA)
= 02 80x25 16 Tonos de gris, texto (CGA,EGA,MCGA,VGA)
= 03 80x25 16 colores, texto (CGA,EGA,MCGA,VGA)
= 04 320x200 4 colores, gráficos (CGA,EGA,MCGA,VGA)
= 05 320x200 4 colores, gráficos (CGA,EGA,MCGA,VGA)
= 06 640x200 B/W, gráficos (CGA,EGA,MCGA,VGA)
= 07 80x25 Monocromo, texto (MDA,HERC,EGA,VGA)
= 08 160x200 16 colores, gráficos (PCjr)
= 09 320x200 16 colores, gráficos (PCjr)
= 0A 640x200 4 colores, gráficos (PCjr)
= 0B Reserved (EGA BIOS function 11)
= 0C Reserved (EGA BIOS function 11)
= 0D 320x200 16 colores, gráficos (EGA,VGA)
= 0E 640x200 16 colores, gráficos (EGA,VGA)
= 0F 640x350 Monocromo, gráficos (EGA,VGA)
= 10 640x350 16 colores, gráficos (EGA or VGA with 128K)
640x350 4 colores, gráficos (64K EGA)
= 11 640x480 B/W gráficos (MCGA,VGA)
= 12 640x480 16 colores, gráficos (VGA)
= 13 320x200 256 colores, gráficos (MCGA,VGA)
Manejo del cursor: AH=2, AH=3
 AH=2 Permite colocar el cursor (siguiente carácter a escribir) en la
posición deseada.
 La posición 0,0 está arriba a la izquierda
 AH=3 Lee la situación actual del cursor.
 Ambas llamadas exigen como parámetro el número de página
activa. Si el usuario no ha modificado la situación la página activa
por defecto es la cero.
 En MSDOS el sistema arranca con un modo por defecto de 80x25
caracteres (situación que puede estar modificada en las ventana de
windows 2000)
Desplazamiento de la pantalla AH=6h, AH=7h
 Desplaza las líneas hacia arriba (6h) o hacia abajo (7h) desapareciendo
por el borde de la pantalla
 Útil para crear rutinas de limpiado de la pantalla
mov ah,6
mov
mov
mov
mov
mov
mov
int
; función
al,5 ;
bh,7 ;
cl,0 ;
ch,0 ;
dl,79d;
dh,24d;
10h
líneas a desplazar (0 todas)
atributo de las líneas en blanco
comienzo del desplazamiento
...
final deldesplazamiento
...
Escribir caracteres
AH=0E, AH=13
•Estas funciones son semejantes a las ah=2 y ah=9 de la INT
21h de MSDOS
•Junto a las de control del cursor permiten situar el texto a
escribir en cualquier punto de la pantalla.
•Además incrementan automáticamente la posición del
cursor, dejándolo situado para la siguiente escritura.
Extensiones VESA
Las extensiones VESA proporcionan soporte
a las aplicación que tratan con
adaptadores que ofrecen características
más avanzadas de las VGA
Extensiones VESA
Al ofrecer mejores resoluciones y niveles
de color, el principal problema (con
respecto a las VGA) está en
La activación de nuevos modos.
El manejo de la memoria.
El resto de servicios que ofrece la BIOS
estándar VGA son también ofrecidos por
una interfaz SuperVGA
Extensiones VESA
Con respecto a los nuevos modos. VESA
ofrece un conjunto de nuevas
resoluciones.
Gráfico
Modo
VESA
Resolución
Colores
Modo
VESA
Resolución
Colores
100h
640X400
256
108h
80
60
101h
640X480
256
109h
132
25
800X600
16
10Ah
132
43
103h
800X600
256
10Bh
132
50
104h
1024X768
16
10Ch
132
60
105h
1024X768
256
106h
1280X1024
16
107h
1280X1024
256
10Dh
320X200
32K
10Eh
320X200
64K
10Fh
320X200
16.8M
110h
640X480
32K
111h
640X480
64K
112h
640X480
16.8M
113h
800X600
32K
114h
800X600
64K
115h
800X600
16.8M
116h
1024X768
32K
117h
1024X768
64K
118h
1024X768
16.8M
119h
1280X1024
32K
11Ah
1280X1024
64K
11Bh
1280X1024
16.8M
11Ch
1600X1200
256
102h
Modo
VGA
Texto
6AH
Modo
VGA
Extensiones VESA
Con respecto al manejo de la memoria.
Las SuperVGA incorporan un hardware de
ubicación
Este hardware traslada secciones de la
memoria de vídeo (en la tarjeta) al
espacio de direcciones del procesador
Sistema de Ventana Simple
Sistema de Ventana Dual
Solapadas
Extensiones VESA
El modo de acceso es a traves de la
función 4Fh de la INT 10h
En AL se especifican las subfunciones:
Mov AH, 4Fh
Mov AL, Subfuncion VESA
… otros parámetros…
Int 10h
Funciones VESA
(sub)Función 00: Devolver información
SuperVGA
Proporciona información acerca de las características
generales de la interfaz de vídeo. Llena una
estructura de datos con la información pertinente
Función 01: Retorna información sobre el modo
SuperVGA
Esta función devuelve la información completa y detallada sobre
la interfaz de vídeo. Modos de vídeo soportados, resoluciones
máximas, granularidad y número de las ventanas que es capaz
de controlar…
Funciones
Función 02: Activa un modo de vídeo SuperVGA.
Función 03: Devuelve el modo de vídeo activado
actualmente.
Función 04: Salva o recupera el estado del vídeo
de SuperVGA
Es una manera de salvar una configuración determinada de
todos los parámetros de la interfaz, de manera que pueda
recuperarse luego. Una especie de “guardar/recuperar
configuración personalizada”
Funciones
Función 05: Controla la ventana de vídeo de
CPU.
Establecerá el comienzo y el final de una sección de
la memoria de vídeo que va a ser trasladada al
espacio de direcciones del procesador.
Función 06: Activa o devuelve la actual longitud
lógica de línea de exploración
Entiendo que una línea de exploración lógica puede consistir en
una o varias líneas de la resolución actualmente activada. Que
es una manera de organizar las páginas en que se va a
estructurar la memoria de vídeo para trasladarlas al espacio de
direcciones del procesador.
Funciones
Función 07: Activa o devuelve el comienzo
del display.
Se indica con esta función qué dirección (píxel) de la página
actual va a mostrarse en la esquina superior izquierda del
monitor. Cuando la página actual – representando un monitor
lógico - es mayor que el monitor, es posible jugar con esta
función para mostrar en el monitor real secciones de la página e
incluso alternar estas secciones para dar efectos de
movimiento.
Funciones
Función 08: Activa o devuelve el estado
actual de la Paleta de Cotrol del DAC
El DAC es el conversor digital-analógico que transforma un
atributo en una señal analógica. Algunas interfaces permitirían
que fuera programado de manera que el formato utilizado para
cada color tuviera un determinado número de bits: 6 (64 niveles
por cada color básico), 8 (256 niveles por cada color básico) o
más.
PCInterno. M.Tischer. Marcombo
PCHardware. H. Messmer. Addison Wesley
The 80x86 IBM PC and compatible. M.A.
Mazidi. Prentice Hall
http://www.monstersoft/tutorial1/VESA_in
tro.html
Descargar

Adaptadores de vídeo