Versión HTML por Nacho Cabanes
Pulsa F2 para ejecutar el programa MARCADOR. - Posibilidad no disponible en la versión HTML-.
Todo se basa en la utilización de una función de la BIOS suministrada por la interrupción de video 10h. Este servicio es la función 11h, subfunción 30h. Al llamar a esta función, la BIOS nos devuelve un puntero (una dirección) a una zona de memoria donde se encuentra, un mapa del juego de caracteres de la VGA. Podemos solicitar siete juegos de caracteres distintos, según el valor que pongamos en el registro bh. El formato completo para esta función es:
int 10h Función 11h Subfunción 30h
Entrada: ah
= 11h
(*número de función*)
al = 30h
(*número de subfunción*)
bh = 3
(*caracteres 8x8*)
(*bh=2 caracteres 8x14*)
(*bh=6 caracteres 8x16*)
Salida : es:bp=
puntero FAR (segmento:desplazamiento) donde reside
el juego de caracteres pedido.
Si nosotros situamos en esa dirección un array como el siguiente:
Tabla:Array[ 1..256 , 1..8 ] of byte;
------ ----
| | | |
| | | |
Número de Altura del
caracteres carácter
obtendremos en cada posición de esa tabla una máscara
(byte) de la fila indicada por la segunda dimensión de la tabla,
del carácter indicado por la primera posición de la tabla.
Os pondré un ejemplo para que 'pilléis' la idea:
Imaginemos que queremos obtener las máscaras (filas) que forman
la letra 'A' mayúscula. El mapa del carácter sería:
12345678
12345678
1 __
1 00011000 <-- Tabla[65,1]
= 24
2 ____
2 00111100 <-- Tabla[65,2]
= 60
3 __ __
3 01100110 <-- Tabla[65,3]
= 102
4 __ __
4 01100110 <-- Tabla[65,4]
= 102
5 ______
5 01111110 <-- Tabla[65,5]
= 126
6 __ __
6 01100110 <-- Tabla[65,6]
= 102
7 __ __
7 01100110 <-- Tabla[65,7]
= 102
8
8 00000000 <-- Tabla[65,8]
= 0
(BINARIO)
(DECIMAL)
Esto se aplica para todos los caracteres y para todos los tamaños, con los cambios necesarios.
Os presento a continuación un programa para modo texto más sencillito que el anterior, donde podréis ver cómo utilizar el mapa de caracteres. :)
Pulse F2 para ejecutar el programa BANNER. %Ebanner* - Posibilidad no disponible en la versión HTML-.
Este programa tiene un funcionamiento similar al comando Banner, existente
en varios sistemas operativos como Unix y Novell Netware. Podéis
utilizar sus rutinas para poner títulos en programas texto de instalación
o quién sabe, para hacer visualizadores como el VCPV. ;)