Secretos de MS-DOS: Un ingeniero de Microsoft revela una oculta capacidad gráfica

Ms-DOSDavid Plummer

Este descubrimiento atribuido a David Plummer, ingeniero de sistemas que trabajó en Microsoft, es un excelente ejemplo de cómo el software histórico puede seguir sorprendiéndonos décadas después. Vamos a desglosar lo más importante y, además, explicar cómo era posible que MS-DOS generara gráficos básicos y cómo puedes probarlo hoy.


🔍 ¿MS-DOS podía generar gráficos?

Sí, pero con matices.

MS-DOS como sistema operativo en sí no tenía una API gráfica incorporada como Windows. Era una plataforma basada en texto, pero esto no impedía que los programas escritos para MS-DOS hicieran uso directo del hardware gráfico.

La clave aquí es el acceso directo a memoria de video y la programación en modo gráfico mediante BIOS o directamente vía interrupciones, como:

  • INT 10h (BIOS video services)
  • Acceso directo al framebuffer de la tarjeta gráfica (por ejemplo, en modo CGA, EGA o VGA)

🎨 ¿Qué tipo de gráficos se podían generar?

Aunque no había una biblioteca estándar como GDI o DirectX, muchos programadores accedían directamente a los registros de video para:

  • Dibujar líneas y círculos (usando algoritmos como Bresenham)
  • Dibujar rectángulos, polígonos
  • Mostrar sprites
  • Crear juegos simples como Pong, Snake, Tetris, etc.
  • Usar paletas de colores limitadas, como los 16 colores en modo VGA 13h (320×200)

🧠 ¿Cómo funcionaba técnicamente?

📍 Modo gráfico en VGA (por ejemplo, modo 13h)

Podías usar interrupciones para cambiar de modo texto a modo gráfico:

asmCopiarEditarMOV AX, 13h
INT 10h   ; Cambia a modo 13h: 320x200, 256 colores

Luego, para pintar un píxel en coordenadas (X,Y) con color C:

asmCopiarEditarMOV AX, 0A000h
MOV ES, AX      ; Segmento de video
MOV DI, [Y * 320 + X]
MOV AL, C
STOSB           ; Guarda el color en el framebuffer

Esto lo hacían juegos clásicos como Commander Keen, Doom, etc., que funcionaban bajo MS-DOS, sin GUI.


🧪 ¿Qué comandos mostró Plummer?

Aunque MS-DOS no tenía comandos nativos como DRAW LINE, se podían hacer pequeños binarios en ensamblador o C, o usar herramientas como QBASIC:

🔧 Usando QBASIC (incluido en DOS 5.0 y 6.x)

basicCopiarEditarSCREEN 12
LINE (10, 10)-(200, 200), 4
CIRCLE (150, 100), 50, 2
PAINT (150, 100), 1, 2
  • SCREEN 12: modo gráfico 640×480, 16 colores
  • LINE, CIRCLE, PAINT: comandos de dibujo

Esto sí era gráfico en MS-DOS, aunque no accesible desde el shell de comandos por defecto. QBASIC era una herramienta oculta de potencial gráfico.


🤔 ¿Por qué no fue documentado o explotado?

  1. Enfoque comercial: MS-DOS estaba pensado para negocios, no juegos.
  2. Hardware limitado: No todos los equipos podían usar estos modos.
  3. Windows se impuso rápido: Desde 1985 ya se apostaba por GUI.

🧪 ¿Cómo puedes probarlo hoy?

Opción 1: Emulador en tu navegador

Opción 2: Instalar MS-DOS en VirtualBox

  • Descargar imagen ISO de MS-DOS 6.22
  • Crear VM en VirtualBox
  • Instalar QBASIC y probar comandos

Este hallazgo es una lección de humildad tecnológica: incluso sistemas limitados como MS-DOS escondían capacidades que no se documentaron o no fueron aprovechadas. El hecho de que aún hoy podamos descubrir estas funciones ocultas nos recuerda que el software es tan potente como la creatividad de quien lo explora.

Por merchanos

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *