Recuperando programas antiguos: Los programas

Continuando con Recuperando programas antiguos: El proceso, vamos a proceder a analizar los programas que he encontrado, y que son parte de mi historia.

Veréis que es muy fragmentario, en unos casos, no todo son las últimas versiones de lo que programé. En otros, son tan últimas, que ni siquiera funcionaban. Cuando ha sido posible, y habían desaparecido los ejecutables, he intentado compilarlos con las herramientas de la época. A saber: Turbo Basic, Quick Basic, Turbo Pascal y Turbo C.

Muchos de ellos, estaban escritos en BASICA y GW-BASIC, por lo que los he guardado en formato ASCII, al menos para que resulten legibles.

1989-1991

El material recuperado comienza en 1989, son muchos experimentos, la mayoría incompletos. Suelen ser programas gráficos, que es lo que con esa edad, me llamaba la atención.

En aquella época, nos dedicábamos entre otras cosas a recopilar programas, a veces parchearlos, y a veces venderlos. No sin demasiado éxito. Todo hay que decirlo. Lo hacíamos bajo el sello de The Copying Crackers (TCC), y fruto de ello, es TCC de 1990, que tiene la gracia de ser sencillamente un archivo BAT compilado.

Recuperando programas antiguos: Los programas

En 1991, la cosa sigue, y seguiría durante algunos años, con CRACK y COPYING, escrito en GW-BASIC, y compilado en Turbo Basic, y que sería mi primer contacto con este compilador. Versiones de lo mismo, intentando imitar las intros de la escena.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

Sobre la base de hacer una intro más o menos aparente, tenemos TCC, ya con modo gráfico EGA, y que iría evolucionando, hasta un increíble año 1995.

Recuperando programas antiguos: Los programas

Gráficos Empresariales, firmado bajo mi genuino Guti Soft. Ltd., con casi 300 lineas de código, era un programa con pretensiones serias. Su propósito era graficar hasta 6 valores distintos, tanto en formato de barras, como en formato de lineas. Estaba escrito en BASICA, y usaba el módo gráfico CGA de 320×200 píxels y una paleta de 4 colores.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

High Cars (HC), un juego de coches tipo Super Sprint, desarrollado en Turbo Basic. Con 400 lineas de código, era aún más ambicioso que el anterior. Incluía una protección anticopia basada en códigos a introducir por el usuario, un menú principal bastante trabajado, y la posibilidad de redefinir teclas. Dibujamos la mayoría de gráficos, incluyendo el escenario, y programamos las rutinas de colisión, pero poco más. Tuvimos muchos problemas con el manejo de sprites, y nos vimos obligados a programar una utilidad adicional para crearlos.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

Aparecen vestigios de BARNA92, un proyecto de programación que íbamos a presentar, con motivo de las olimpiadas de Barcelona, en el colegio a un concurso nacional, y que al final quedó en nada. DELETE, de ese mismo año, es quizás el más relevante de esa época. Firmado por Rainbow Software Limited. Barcelona, pretendía ser una versión del algo que sería recurrente en el futuro, WIPE, un borrador de archivos por sobreescritura.

Recuperando programas antiguos: Los programas

1992

1992, fue a tenor de todo lo encontrado, un gran año.

Empiezo con MHZ, un programa que me publicaron en la revista PC-Actual, y que se encargaba de dar el valor de rendimiento relativo del ordenador en el que se ejecutaba. Mucho antes de que conociera Landmark Speed Test, simplemente imitaba la evaluación de rendimiento de PC-Tools. La gracia era que todas las versiones de DOS, incluían un intérprete de BASIC, así que cualquier podía ejecutarlo.

Recuperando programas antiguos: Los programas

CP o Custom Prompt, es el primer programa destinado a ser distribuido que recuerdo. Cuando descubrí las secuencias de escape ANSI, me di cuenta que gracias a ellas, se podía personalizar el PROMPT de DOS con colores. Por supuesto, fue mucho antes de conocer 4DOS.

Recuperando programas antiguos: Los programas

RSL-TEST, tiene como novedad el uso de las rapidísimas TBWINDOW de Turbo Basic, y un entorno de usuario, del que me sentí orgulloso. Fueron los inicios de acceder directamente a la
memoria de video, algo que me permitiría casi igualar el rendimiento de admiradas aplicaciones comerciales. Simplemente era un benchmark, creado a raíz de MHZ, pero bastante más completo. Evaluaba el rendimiento de diferentes tipos de operaciones, y hasta donde yo se, antes de haber conocido Landmark o Norton System Information. Su único problema, que los valores no eran dinámicos, así que en equipos potentes, se podía salir todo de rango.

Recuperando programas antiguos: Los programas

VIEWER era un visualizador, y también editor de archivos de texto escrito en GW-BASIC y posteriormente compilado con Turbo BASIC. Como operaba directamente en memoria, no era capaz de manejar archivos más largos de 14 Kb. Se ofrecía en 4 compilaciones diferentes, pero sólo he conseguido rescatar el código fuente del menú, aunque estoy seguro que funcionó.

Recuperando programas antiguos: Los programas

SIMON, era una réplica (inacabada) del por aquel entonces moderno juego electrónico, que ya usaba el modo gráfico EGA a 320×200 con 16 colores, mucho antes que compañías comerciales hubieran apostado por él.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

Continuando con el apasionante mundo de la compresión, le tocaba el turno a una nueva implementación de RLE, y así surgió ENPAK. Ya conocía LZEXE y PKLite, que comprimían ejecutables que eran descomprimidos on-the-fly. Por contra, otros archivadores como PKZIP o ARJ. Se me ocurrió que como la mayoría de archivos, eran por entonces de texto, podía crear un compresor de archivos, donde los ficheros pudieran verse descomprimidos, como si fuera un TYPE, sin necesidad de extraerlos. Esa idea, jamás la llegué a ver implementada por otros.

Recuperando programas antiguos: Los programas

RSL-UTL, eran unas herramientas de gestión de archivos con protección anticopia (BORRAR, COPIAR, VISUALIZAR, VERIFICAR), que partía de una premisa equivocada. Pensaba que si leía byte a byte con un programa propio, en vez de con los comandos de DOS, se copiaría el contenido de manera idéntica. Era falso, pero me sirvió para crear LICENCIA, que ejecutaba un checksum sobre los ejecutables, o LEEME, que se basaba en ENPAK. Cada módulo estaba separado, tal vez para resultar más profesional, imitando los comandos DOS. Otra novedad, es que permitía tanto argumentos por la linea de comandos, como de forma interactiva si éstos no se especificaban. Algo que me debió gustar en BASCOM o MASM, y que decidí imitar.

Recuperando programas antiguos: Los programas

1993

Había estado aprendiendo Turbo Pascal, era un lenguaje que ya por aquellos años no me gustaba, pero del que me encantó lo compactos que eran sus ejecutables, y la cantidad de funciones que tenía. Así salió DOS UTL 1.0 y 1.l en ese año, que mostraban información del sistema.

Recuperando programas antiguos: Los programas

SUPER-PC fue mi primer programa serio en ensamblador, antes habían sido rutinas pequeñas. Lo firmaba W&G Software Incorporated, y creo recordar que partía de un artículo en alguna revista extrajera que explicaba como cambiar la frecuencia de refresco de la memoria RAM, para así mejorar el rendimiento.

Recuperando programas antiguos: Los programas

ICE-DISK no tenía mucho misterio aparente. Un juego tipo PONG en Turbo Basic, con gráficos EGA más bien malos. Lo cierto es que lo que más me sorprendió era lo bien que jugaba la máquina, y que luego sería la base para programar ICE-FURY en 1997, como ejemplo de la GLIB.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

ENPAK siguió avanzando, con la 1.07 lo reescribí para operar totalmente en memoria, así que era el doble de rápido, pese a que entonces los archivos estaban limitados a 32 Kb. Nunca se me ocurrió procesarlo por bloques. Ya había oído hablar de los duplicadores de disco duro, así que potencié esa faceta creando WRITE, para visualizar archivos directamente. La barra de progreso, estaba claramente inspirada en la de LHARC.

Recuperando programas antiguos: Los programas

Me gustaban las cartas del tarot, algo a lo que jugábamos a menudo. Decidí crear un programa que fuera capaz de hacer tiradas con los arcanos mayores, y así salió TAROT. Pese a que el algoritmo de tirada estaba listo, sus resultados solamente te ofrecerían resultados a nivel de carta. No una interpretación en conjunto. Implementaba un sistema con datos externos (Data Driven), que me encantaba, y que poco a poco iría mejorando.

Recuperando programas antiguos: Los programas

Finalmente, durante mi paso por el Esplai La Sagrera, hice ESPLAI, una aventura conversacional/gráfica que esencialmente aprovechaba los gráficos creados en BASIC años atrás, junto a muchas de sus rutinas y efectos. El reto es que intentaba modelar el flujo en datos externos, y que pretendía que las rutinas gráficas fueran lo más eficiente posibles.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

Se renueva RSL-TEST con la versión 4.20, que ofrece más información del sistema, entre ellas, el estado de los bloque numéricos, mayúsculas y de desplazamiento. Y es que obtener el estado del hardware, vía software, es algo que siempre me gustó.

Recuperando programas antiguos: Los programas

FOCOS es el resultado de intentar controlar y programar las luces en las fiestas, usando un ordenador. Nunca se llegó a probar en su entorno real, pero aparentemente estaba muy conseguido, incluyendo el acceso a los puertos de entrada/salida en ensamblador.

Recuperando programas antiguos: Los programas

También aparece MTV, un homenaje al incipiente canal de televisión, y un experimento que mezclaba rendimiento gráfico, con contenido subliminal.

1994

En 1994, hubo intentos de portar ENPAK a ensamblador, siguiendo el enfoque de SUPER-PC, y a Turbo Pascal, siguiendo el de DOS-UTL. Como obras terminadas, sólo está CRACKER2, la siguiente evolución de TCC, con animación, y optimizado para usar aritmética entera.

Recuperando programas antiguos: Los programas

Figuran algunos escritos de Rog: Máscaras y Mar, señal de que estábamos más enfrascados en asuntos metafísicos que en la informática.

1995

Empiezo a especializarme en C y ensamblador. Algo que se mantendría hasta la actualidad. Encuentro la primera versión de BIN2PRO, parece ser que uno de los gérmenes de De Trans Software (D.T.S.), y algunos experimentos gráficos, que serían el germen de la GLIB en modo VGA/MCGA: Campo de estrellas (SPACE), o la simulación de nieve (NIEVE).

Sin embargo, no abandono Turbo Basic, y así aparece CRACKER3, la última versión donde optimiza el código usando divisiones enteras, y además, suprime el sonido. El motivo es que al conocer la implementación de SOUND/NOSOUND en Turbo Pascal y Turbo C, me di cuenta que en Turbo Basic eran síncronos. Es decir, mientras se reproducía el sonido, la ejecución se paraba. El resultado final, fue un movimiento, con casi la suavidad y calidad que deseaba en 1990.

Recuperando programas antiguos: Los programas

INFOEXE obtiene información de un ejecutable MZ DOS, en base a su cabecera, y sería el origen del mucho más potente EXEINFO.

Recuperando programas antiguos: Los programas

PING-PONG fue un juego que empecé a escribir, y que como en Outlaw, no hay ni rastro del código fuente. Estaban creados los gráficos de fondo y los sprites, y pretendía recrear la recreativa arcade del mismo nombre que me encantaba.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

SSITEST, firmado por Swap Soft. Inc (SSI), era un nuevo benchmark, ahora explotando la potencia del lenguaje C, y combinando lo aprendido con RSL-TEST y RSL-UTL.

Recuperando programas antiguos: Los programas

Salió también OPTI, que pretendía ser el máximo grado de data-driven, un lector de libros, con archivos comprimidos e indexados, y cuyo primer ejemplo era el título: «Optimizaci¢n de programas con Borland C++ 3.1». Fiel a sus pretensiones, usaba DIDIO, para ofrecer un rendimiento de visualización en pantalla excepcional.

VIRUS, un troyano de cuando se pusieron de moda estos malwares creados en Visual BASIC, y que en mi opinión deberían ser, al menos en C.

Por último JACK, mi implementación destinada a superar a HERBIE, con una interfaz de ventanas en modo texto, y un diccionario. De nuevo data-driven. Volvía a estar programado en Turbo BASIC, imagino que para aprovechar código que ya tenía, pero basado en objetos (no orientado a objetos), como Visual BASIC.

Recuperando programas antiguos: Los programas

1996

Es el año que empezamos a centrarnos en Outlaw, por lo que no hay demasiada actividad. Como ya expliqué, no sólo constaba del programa principal y sus librerías, sino de RESET como aquí encontramos, para borrar récords y configuración.

Recuperando programas antiguos: Los programas

1997

Encontramos creaciones típicas, como DIRPCK para listar archivos, incluyendo comprimidos ZIP, pero también algunas virguerías en la máxima evolución, y al mismo tiempo declive de DOS.

WIPE 4, era la reescritura de WIPE, y a su vez de DELETE, pero esta vez, usando una librería en modo texto (CONXLIB), desarrollada a tal efecto, y que funcionaba sobre CONIO.H, implementaba ratón, e interfaces gráficas, mezcla de Turbo Vision y RAR. Nuevamente, su objetivo era vencer finalmente a WIPEINFO de Peter Norton.

Tenía dos modos de trabajo, por linea de comandos, es decir, como sus antecesores, o bien usando la interfaz de usuario, con un precioso selector de archivos como parte central, implementado desde cero, y conteniendo las funciones que había visto en Norton Commander, DOS Navigator, y otros gestores de archivos.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

Patch Package o DIFF, un completísimo programa que pretendía superar a RTPatch, con optimizaciones en ensamblador a mano, específicas para diferentes procesadores, y un shell opcional para Windows. Permitía crear parches autoaplicables, tipo SFX, algo que luego me sería útil en BLINK. Era un mastodonte de más de 5.000 lineas de código, un acontecimiento, que sólo Outlaw superaría.

Recuperando programas antiguos: Los programas

MIRIAM, un intento de virus, después de que el Virus Creation Laboratory se me quedara corto.

Sin duda la sorpresa del año, y yo diría del lote, es CARS. Tras haber jugado a diferentes MUD, tanto vía BBS como por internet, o incluso en local, descubrí VGA Planets, no me explicaba como habían optado por desarrollarlo en Quick BASIC, así que me propuse mezclar ambos mundos.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

Partiendo de WIPE, se ambientaba en un escenario de 50×20 casillas. Tu papel era de «comerciante», usando un potente vehículo. El objetivo principal era ir de almacén en almacén, comprando al mejor precio, y vendiendo al más caro. Ante tan duro trabajo, había casinos, que permitían jugar a dados, ruleta, tragaperras, y blackjack. Pensaba que CARS había quedado en un simple proyecto, pero a nivel individual, es completamente jugable.

Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas Recuperando programas antiguos: Los programas

Si durante la exploración de ese mundo, nos topábamos con otro usuario, podríamos luchar con él, y quedarnos su dinero. Por eso existían los bancos, que además nos daban préstamos, y podíamos intentar robar. Naturalmente, tenías tu inventario de objetos.

Quedó pendiente la parte del master, es decir, la rutina para leer los turnos de los jugadores, y resolver combates en caso de haberlos.

Estaba estructurado de manera modular, porque con 130 Kb. de código fuente, era aún más largo que FileOptimizer.

1998

Entre el trabajo, la universidad y otros desarrollos a medida, pocas cosas se hicieron por cuenta propia. Así que lo más destacable que he encontrado, son las prácticas de Geometría Computacional (GEOC), Gráficos por Computador (GRCO), Introducción a las Bases de Datos (IBDA) y Redes de Computadores (XACO).

1999

Windows ha conquistado el mercado, también el de los desarrolladores, así que aprovechando mi experiencia profesional, creamos Primi, un programita en Visual Basic, que leía los datos históricos de la Lotería Primitiva, para hacer sus pronósticos… No nos hicimos ricos.

2000

Lo más interesante es BLINK. Llevaba un par de años con C++ Builder y Delphi, y quedaba la espinita de implementar BLINK sobre Windows.

Recuperando programas antiguos: Los programas

Como curiosidad de la época, tal vez recordéis programas como Cash Fiesta o Dollar Web, que te pagaban dinero por ver anuncios mientras usabas el ordenador. Bien, pues ya podéis imaginaros el propósito de FakeDollarWeb.

Nunca apareció VIEWER, mi visor de archivos de texto al completo, ni TANK, que pretendía controlar un tanque teledirigido con el ordenador, BASCMP un compresor de archivos BASIC escrito en C, ni un libro de ciencia-ficción que comencé a escribir sobre Framework III.

Seguramente hasta haya olvidado muchos más que no he reencontrado. No ha aparecido Outlaw, ni muchos otros códigos fuentes de la época dorada de D.T.S., donde al menos si están disponibles los ejecutables.

El proceso ha sido divertido, pero algo desilusionante. Tal vez salvo la agradable sorpresa con el Cars de 1997, y del que he podido volver a disfrutar, me esperaba más material antiguo, que ahora sí, puedo decirlo, se ha perdido para siempre.

De cara al futuro, está todo disponible aquí (4,3 Mb. en formato ZIP).

9 comentarios en “Recuperando programas antiguos: Los programas”

  1. ¿En 1991 ya tenías una compañía, y en un ático? Joder, menudo nivel Guti 😀 ¡Y encima de crackers, cuando lo que se llevaba eran los hackers en aquellos tiempos! Eras un adelantado a tu época.

    Yo también he sido más de crackers que de hackers, siempre me parecieron más honestos. Los hackers iban de buenos pero al final solo soñaban con hacer lo que hacían los otros (o sea, los crackers :D). Hablo en el sentido de acribillar programas y ponerlos a disposición de la gente, lo de entrar en servidores y cosas así da igual que uno se identifique como hacker que como cracker, al final si te pillaban a la policía le iba a dar lo mismo y le importaba un pepino cómo narices te hicieras llamar 😛

    Me gusta mucho SUPER-PC, ese tipo de programas que te hacen soñar (o te hacían, vamos…) que podías tener un ordenador más potente simplemente a través de software 😀 Recuerdo haber usado alguno durante un tiempo. Ahora los recogedores de basura de Android hacen lo mismo y han copiado la idea :P, una muestra de lo poco eficiente que es ese sistema ¿operativo?

  2. Javier Gutiérrez Chamorro (Guti)

    ¡Es que el negocio de los cracks, ya daba mucho de sí en 1991!

    A mi me apasionaba también todo lo que consistiera en consultar o modificar el hardware desde el software. Ya fueran herramientas de Información del Sistema, como algunos ejemplos que he puesto, hasta las maravillas que podían hacerse accediendo al mismo a bajo nivel: Super-PC, programación gráfica, controlador de DMA, programación directa del teclado (que permitía leer varias teclas que se pulsaban al mismo tiempo), …

  3. orale, que nostálgico, yo todavía tengo algunos programas en c++ de mi época de estudiante, los tengo en un cd por cierto 🙂

  4. Javier Gutiérrez Chamorro (Guti)

    Manuel, con la poca fiabilidad que tienen los CD, te recomiendo que los rescates y te hagas una copia de seguridad para no perderlos.

  5. hola, hace algún tiempo que decidí incursionar en la programación en qbasic. luego de hacer alguna base de datos, tengo el inconveniente de que en un fichero de un solo registro al hacer listado lo muestra. pero al agregar mas de uno, el listado muestra desde el segundo registro. y quería saber sobre cómo eliminar registros. DESDE YA MUCHAS GRACIAS.
    P.D es apasionante y ayuda a mantener la mente en movimiento.
    saludos

  6. Javier Gutiérrez Chamorro (Guti)

    No das muchos detalles. Imagino que cuando hablas de base de datos te refieres a GET y PUT. En ese caso, el borrado físico no existe como tal, pero dispones de varias opciones:
    1) Agregarle a tu registro un campo de borrado, y excluir aquellos que lo tengan activo. Es realmente lo que hacen la mayoría de SGBD.
    2) Volver a generar el archivo excluyendo el que has borrado. Es lo que se llama compactar.

    Mis ánimos con QBASIC que aunque sencillo es muy potente. Si en algún momento te decides a poner el código fuente, quizás podamos revisarlo.

  7. En gráficos empresariales, en la imagen del menu no corresponden a los de la paleta CGA q come tas ahí, que modo usaste ?

  8. Javier Gutiérrez Chamorro (Guti)

    Un gusto que te haya parecido interesante Mordamir. Es CGA sin duda. Si revisas 1991\GRAFICOS.BAS verás que se coloca el modo CGA con SCREEN 1, pero efectivamente además se selecciona una de las paletas alternativas que GWBASIC tenía predefinidas. En principio sólo había dos, así que se usaba en la forma de: COLOR 0,0

    Era una funcionalidad poco conocida, pero que está explicada: hwiegman.home.xs4all.nl/gw-man/COLOR.html

Deja un comentario