540 likes | 694 Views
Adaptadores de vídeo. Códigos de atributo. Gen. de atributos. Ram de Video. Códigos de carácter. SH. Gen. de caracteres. Gen de señales de vídeo. BUS. SV. CRTC. SHIFT REG. D. Información de sincronismo. ROM de tramas. Generador de Señales de vídeo.
E N D
Códigos de atributo Gen. de atributos Ram de Video Códigos de carácter SH Gen. de caracteres Gen de señales de vídeo BUS SV CRTC SHIFT REG D Información de sincronismo ROM de tramas
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
Sincronismo Horizontal Sincronismo Vertical Control del monitor
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 h o l a l a ROM
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 ... PALETA DE 16 COLORES 4 5 R|G|B R|G|B ...
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.
0 1 0 1 Paleta 0 0 1 2 4 5 6 . . . 1 64 kB 0 1 256KB RAM de Vídeo Espacio de direcciones en el PC Por cada bit del Espacio 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 • Resolución: 720x350 • Colores: 2 • FH: 18432kHz • FV: 50Hz • FD:16.257MHz • Espacio de Memoria: B000h, 4kB • Páginas de texto: 1 • Controlador CRTC 6845 • Puertos: 3b0h-3bfh • Matriz de carácter: 9x14 • Byte de atributo: parpadeo(1bit),Color fondo(3 bits),Intensidad(1bit), Color carácter(3bits)
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 1: modo gráfico (1) o texto (0) • bit 3: generar señal de vídeo • bit 5: Intermitencia(1) o intensidad(0) • bit 7: 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 Modo Gráfico Dirección base B800h B800h Tamaño RAM 16kb 16Kb Páginas 4/8 1 Controlador crtc 6845 Puertos 3D0h-3DFh Matriz de carácter 8x8(7x7,5x7) Máxima resolución 640x200(2 colores) Colores (max) 16 4 FH 15.75kHz FV 60Hz DH 14.30MHz
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) • 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 • Señal de vídeo • modo gráfico 640x200 • Parpadeo/Intensidad
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 Modo texto Modo Gráfico Dirección base B000 A000 Tamaño RAM 256KB Páginas 1-8 Controlador VGA-CRTC Puertos 3B0h-3DFh Matriz de carácter 9X16, 8X8 Máxima resolución 640X480 Colores (max) 256 de 218 FH 31.5kHz FV 50Hz..70Hz DH 28MHz
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 ; función mov al,5 ; líneas a desplazar (0 todas) mov bh,7 ; atributo de las líneas en blanco mov cl,0 ; comienzo del desplazamiento mov ch,0 ; ... mov dl,79d; final deldesplazamiento mov dh,24d; ... int 10h
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.
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.