Ando, últimamente, jugando con el desarrollo de aplicaciones para MSX-DOS y usando la consola de comandos de la versión 1. No es que tenga muchos, pero no recordaba algunos de sus comandos, así que busqué por internet. Para un desmemoriado como yo, pensé que estaría bien un programita que te listará todos los comandos y me puse manos a la obra.

En ese momento no conocía (o recordaba) si otros DOS, tenían algo parecido o incluso si ya existía en la v1 del MSX-DOS, pero no me importaba ya que el objetivo real de todo esto era simplemente pasar el rato y aprender de la experiencia.

He utilizado C con SDCC. La base ya la tenia: el startup para MSX-DOS, las funciones para escribir en la pantalla (SDCC MSX-DOS TEXTMODE), y algunas funciones para tratar strings.

La primera versión solo mostraba una lista. Era el primer paso.

Me puse en contacto con mi colegüi @PresidentFubu que prueba, corrige, da ideas y me ayuda en muchas de mis electro-chorradas. Me explicó como lo hacia Linux, pero era un sistema complejo para el propósito de este ejercicio, pero decidí que mediante un parámetro se pudiera consultar información más detallada de cada comando. Añadí esta funcionalidad, mejoré un poco la programación y ya está!

No sé sí será útil, una tool para un sistema de 1984, cuando la mayoría de los usuarios usan la v2 mucho más potente y completa, con su propio sistema de ayuda, pero ahí está para el que quiera lo pueda incluir en su disco de sistema.

Los textos están basados en su mayoría al capítulo sobre MSX-DOS del MSX2 Technical Handbook, al que hay que agradecer siempre a Konamiman por su transcripción; y el resto los he de agradecer a la WIKI del MSX Resource Center.

Los fuentes están publicados en GitHub, a disposición del que quiera aprender o usarlo como base para hacer otras cosas. El ejecutable incluido en el directorio bin/ lo podéis incluir donde queráis, que para eso es free! 😉

Cualquier corrección o mejora que veáis, podéis comentarla en este post, en las issues de GitHub o en el mail mostrado en el proyecto.