Modo 13h
El Modo 13h o modo13 es un término utilizado para un modo gráfico estándar de 256 colores en las tarjetas gráficas VGA de IBM. Tiene una resolución de 320x200 píxeles y fue usado bastante en juegos de computadora y software de arte/animación a fines de 1980 y hasta mediados de 1990. El modo 13h permitía un acceso mucho más fácil a la memoria de video, es decir, una manera más sencilla de dibujar gráficos en la pantalla, que los otros modos de video. Sin embargo, al no tener un aspect ratio de 4:3, los píxeles no tenían un aspecto cuadrado. Es decir, que podía dibujarse un cuadrado de igual ancho y alto pero verse como si fuera un rectángulo.
Características
Su simplicidad de uso, disponibilidad de 256 colores posibles y rapidez de respuesta lo hicieron un popular modo de video utilizado entre los programadores de DOS y algunos de Linux por sobre las demás tarjetas de video y los demás modos de video de la misma tarjeta: 0Eh (640x200), el 10h (640x350) o el 12h (640x480), debido al número de colores. Esto es puesto que se prefería sacrificar resolución por número de colores en pantalla (en los otros solo se permitían 16).
La manipulación de la VRAM es mucho más fácil en el modo 13h, puesto que a diferencia de los demás modos de video, cuya organización es planar (es decir, que se dibujaban los gráficos de la pantalla, en distintas páginas), esta es lineal (como si se dibujara en un largo vector de casi 64 Kb). Lo cual quiere decir que cada píxel de la pantalla se representa por un byte en la memoria de video (y el byte representa un color en la paleta de colores). Para tener una idea de como funciona, los primeros 320 bytes representan la primera línea horizontal de la pantalla, los segundos 320 bytes representan la segunda línea horizontal de la pantalla y así sucesivamente hasta completar las 200 líneas verticales.
Aunque no fue documentado por IBM, se puede cambiar a un modo de video de 256 colores planar. Los modos de videos creados usando esta técnica son llamados, Modo X y permiten llegar a otras resoluciones además de 320x200 como son: 320x240, 360x400, 400x600 y otras similares.
Notas
El modo 13h debe su nombre a la forma que se usaba para inicializarlo. Para ello se utilizarían las llamadas interrupciones de software. La manera de llamar a una de esas interrupciones, en lenguaje Ensamblador, consiste en preparar todos los parámetros que ésta requiera (cargar los registros del procesador, como AX, BX, CX, con los valores adecuados) y ejecutar la llamada a la interrupción:
MOV AH,0 ; registro AH=0: Iniciar modo de video
MOV AL, 13h ; registro AL=13h: Modo de video
INT 10h ; interrupción de software 10h ( o interrupción de video)
La h al final de 13 quiere decir que es un código hexadecimal, razón por la que el verdadero valor sería 19. En otros lenguajes de programación como C/C++ se hubiera representado con 0x13, mientras que en QuickBasic se hubiera ejecutado la sentencia:
SCREEN MODE 13
Enlaces externos
- Programación de 320x200x256 (I) es decir, modo 13h
- Curso de Programación de Videojuegos en DOS donde se explica en primera instancia el modo 13h