Llevo coleccionando aplicaciones para DOS, desde mucho antes de ser consideradas abandonware. Doy por sentado, que este afán, lo inicié por por una motivación puramente profesional. Al final, DOS marcó mi apogeo en el aprendizaje de la programación, y significó el punto de inflexión entre la afición, y la vida laboral.

Pero lo cierto, es que después de casi dos décadas buscándolo, no fue hasta hace pocos días que con una de enlaces, me topé con el título que me quitaba el sueño, Watcom C++ 11.0B, la última versión del popular compilador, que en mi humilde opinión, cambió el rumbo de DOS.

Pese a que el clímax de Watcom, llegaría con anterioridad, en la versión 10, la versión 11, representaba su máxima evolución, y la 11.0B su última actualización oficial, y que luego sería la base de OpenWatcom. Para ponerlo en contexto, Watcom, en el mejor escenario, permitía aumentar el rendimiento de nuestros programas en el doble, y nos ofrecía la posibilidad de direccionar hasta 64 MB de memoria sobre DOS, sin quebraderos de cabeza. Es decir, empujó a DOS más allá de sus límites.

Sin embargo, el Disk Operating System, contaba con importantes puntos diferenciales, que lo hacían único en su especie. Primeramente los servicios que proporcionaba, eran terriblemente limitados. Reducidos a leer y escribir información en flujos de datos, ya fueran archivos, pantalla o teclados. Monousuario, monotarea, y restringido por un diseño de los años 70, que como evolución de CP/M, debía funcionar en arquitecturas 8088 con 64 KB. de memoria. Sin duda, el modo real, de 16 bits, y con un ingenioso direccionamiento máximo de 1 MB. de memoria, acabó siendo un grave impedimento años después.

Por el contrario, DOS compensaba estas carencias, ofreciendo un acceso completo al hardware. Lo que quisieras hacer, era posible hacerlo si la máquina lo soportaba, sin capas intermedias, sin limitaciones. De modo que las casas de software, se estrujaban el cerebro para conseguir ampliar ese límite de memoria usable, ya fuera mediante soluciones hardware, como a nivel de código aprovechando las nuevas funciones de las arquitecturas 286 o 386. Seguro que todos recordamos HMA, UMB, EMS, XMS, DPMI, VCPI, DPMS, etc.

Exactamente ese mismo enfoque se siguió para dar soporte a dispositivos adicionales, ratones, lectores de CD o DVD, tarjetas de red, lo que con el tiempo, convirtió a DOS en una plataforma casi universal.

Por supuesto, se consiguió multitarea, con soluciones brillantes que opcionalmente aprovechaban el modo virtual-86.

Pasó de ser un entorno tipo TTY, es decir, basado en consola, a interfaces primero de texto (TUI), realmente elaborados, o incluso gráficos, y con capacidades de 3D.

Eran aplicaciones y juegos, que luchaban con una arquitectura obsoleta, en base a conocimiento técnico e ingenio, y que consiguieron logros que años antes nadie hubiera imaginado que fueran posibles en DOS. Como últimas versiones, representaban el punto final de su trayectoria, bien fuera porque no era posible llevarlo más lejos, bien porque comercialmente se vieron relegados ante entornos más modernos como OS/2 y Windows.