Arqueologia digita caseral: Easy Shell

26 de Mayo de 2014

A veces es dificil recordar que fue lo primero que uno programo. A veces la memoria falla, o a veces el codigo y los programas se pierden en el vacio o vaya uno a saber donde.

En mi caso, si bien no me acuerdo de todo, ni tengo todo, si tengo un programa que hice hace mucho tiempo y que, hoy, mas de 15 años despues cuando lo veo, me sorprendo de lo que fui capaz de hacer en su momento.

El inicio

Yo me inicie programando con Basic. No Visual basic, no. Fue con Quick Basic, un basic para DOS de Microsoft, que permitia compilar los .bas a .exe, lo que vendria ser una version profesional del QBasic que venia incorporado en el MS-DOS.

Con ese compilador hice muchos programas, algunos que ni recuerdo bien, como un reproductor de audio (que en si era un shell para un reproductor de linea de comandos), un editor de textos, y un par de herramientas que ya ni recuerdo.

Pero el programa que si conservo, es uno de los ultimos que hice con QBasic y el mas complejos que hice para DOS.

El programa

A Easy Shell lo empece a programar en 1994, aun en el apogeo de DOS. Windows 3.1 no dejaba ejecutar muchos juegos de DOS porque consumia  mucha memoria y en caso de hacerlo en DOS, uno tenia que ingresar los comandos manualmente. Eso no era problema para mi, pero mi en mi familoa me vivian preguntando donde estaba tal o cual juego y como se cargaba. Intente usar algunso Shells, pero mucho no lo entendian.

De modo que en mis tiempos libres (iba a la secundaria en ese tiempo) empece a darle forma a este programa.

La idea basica era una lista, que se convirtio en 8 listas, con 36 programas cada una. Se podia editar cada programa y definir los comandos a ejecutar para cada uno. Eso fue la primera version.

Agregados

Con el correr del tiempo, le fui agregando modulos, como las opciones de configuración, un modulo para escanear el disco rigido y agregar programas automaticamente, un modulo para autoejecutar CDs, Proteccion por contraseña de menus y de edicion de programas y un visor de ayuda.

Las caracteristicas son estas:

- 288 menus de aplicaciones divididos en 8 paginas de 18 cada una.

- Opciones de configuracion de funcionamiento y apariencia

- Soporte para Mouse en la interface

- Ocpupa solo 3k residentes en memoria (10k en ordenadores con 640kb de memoria)
- Modulo para agregar programas existentes en el disco rigido.

- Proteccion por contraseña de menues particulares o de los modulos de edicion / configuracion.

- Increibles animaciones de pantalla, que solo podras apreciar en un Pentium II o en un procesador mas viejo. En los procesadores nuevos ya casi no se pueden ver debido a la velocidad de estos.

- Protector de pantalla.

Gracias a las librerias de QuickBasic, ADVBAS (http://www.tgh3.com/products_libraries.html), esta aplicacion podria tener soporte para Mouse, animaciones en pantalla, y muchas otras caracteristicas que hacian que la aplicaicion fuera facil de usar.

ES Ayuda

La jugada Pascal

El gran problema que tenia con el programa en sus inicios, era que el shell desde QuickBasic ocupaba mucha memoria. ¿Como tener un shell y a la vez reducir el consumo dememoria?

Fue por esos tiempos que empece a conocer un poco de pascal. La realidad mucho no entendia, pero con un libro y un conocido que si sabia pascal, hice el programa que seria el shell en si mismo. Esta aplicacion, al cargarse ejecutaba la interface de Easy Shell, escrita en QB y recibiam, bien no recuerdo de que forma, los comandos a ejecutar. Con este truco, lograbamos tener una aplicacion en Pascal muy pequeña que permitia tener un shell con una interface compleja y un residente en memoria de solo 3kb.

ES Colors

Visto 10 años despues, mas alla de lo fuera de tiempo de la aplicacion en estos tiempos, uno se siente tranquilo de haber hecho algo profesional, pese a lo excaso del conocimiento que uno tenia en esa epoca.

Lamentablemente, el codigo fuente se ha perdido, pero bueno, se conserva la aplicacion completamente funcional.

En conclusion, lo que aprendi haciendo programas como este fue muchisimo. Si bien hoy no programo para DOS, los conceptos y formas de resolver problemas que aprendi en este entonces aun me acompañan.

descarga/8

Categorizado en: General Programación Quick Basic Pascal DOS 
Arqueologia digita caseral: Easy Shell