Historia del desarrollo de MSX-DOS

Fuente: MSX.org.

Tim Paterson es un programador estadounidense, conocido como el autor original de MS-DOS, el sistema operativo más usado en los años ochenta.

En 1983 Tim Paterson fue contratado por Microsoft para portar MS-DOS 1.25 a la plataforma MSX.

Tim Paterson es actualmente el propietario de Paterson Technology.

Recientemente se contactó con él y amablemente aceptó compartir con la Comunidad MSX la historia del desarrollo de MSX-DOS:


Tim Paterson

Aquí está lo que puedo reconstruir de la historia de MSX-DOS:

El 10 de agosto de 1984 me llamó Paul Allen pidiéndome hacer una versión de MS-DOS para Z80. No me lancé a la oportunidad, ya que estaba intentando conseguir mi primer producto para mi recién creada empresa Falcom System. Le sugerí a una o dos personas que creía que podían hacerlo y me dijo que ya les había preguntado. Tenía prisa por que se hiciera y nadie podía cumplir el plazo. Pero estaba dispuesto a pagarme en efectivo y permitir que mi compañía distribuyera MS-DOS así que pensé que era un buen trato. El 17 de agosto firmé un acuerdo para hacer un MS-DOS 1.25 para Z80 por 100.000 dólares y el derecho de distribuir MS-DOS 2.0, 2.5 y 3.0 en un hardware sin pagar derechos de autor.

Para mí esto fue un proyecto de traducción. Había escrito un programa de traducción de lenguaje ensamblador de Z80 a 8086 (TRANS). En este caso realicé manualmente la traducción a la inversa. Como MS-DOS era capaz de ejecutar aplicaciones CP/M que habían sido traducidas a 8086, significaba que MSX-DOS podría ser capaz de ejecutar directamente programas CP/M. Así que mientras pensaba en MSX-DOS como la versión Z80 de MS-DOS, también podía verse también como una versión recortada de CP/M que usaba el formato de disco de MS-DOS.

Me senté en un terminal Heath/Zenith H19 conectado a un ordenador Seattle Computer Products 8086 que ejecutaba MS-DOS con una unidad doble PerSci de ocho pulgadas. Usé MicroPro WordMaster como mi editor (y no el conocido WordStar), el cual yo mismo había portado a DOS desensamblando la versión de 8 bits de CP/M y traduciendo (con TRANS) a ensamblador 8086. Miraba unas pocas líneas del código fuente en ensamblador 8086 de DOS y escribía en la misma operación en lenguaje ensamblador Z80.

También escribí un emulador de Z80 que funcionaba bajo MS-DOS, simulando una máquina CP/M, la cual hice funcionar el 27 de agosto de 1983. Esto me permitía realizar completamente el desarrollo del proyecto bajo MS-DOS. Ensamblaba el código fuente de Z80 usando un ensamblador M80 de Microsoft ejecutándose bajo el emulador, y enlazándolo con L80.

El MSX-DOS que estaba escribiendo tenía una capa de Entrada/Salida del sistema que se comunicaba directamente con la capa de Entrada/Salida del sistema de la máquina que ejecutaba el MS-DOS y sobre la que a su vez corría el emulador. Esto daba acceso directo y control del formato de disco a MSX-DOS. La mayoría del código del núcleo era de manejo de ficheros así que era necesario para probarlo. Copiaba mi trabajo en la segunda unidad de disco PerSci y la dejaba que «ripeara» dándole control total a MSX-DOS. Por supuesto, en los primeros días los errores aparecieron y destrozaron el disco.

El 2 de octubre tenía a Microsoft BASIC y M80 ejecutándose bajo MSX-DOS. Terminé de escribir COMMAND.COM unos días después. Corregí algunos errores y el 11 de octubre le enseñé MSX-DOS a Paul Allen. Oficialmente entregué la versión beta de prueba el 26 de octubre. Incluía un huevo de pascua que imprimía mi nombre, pero no recuerdo cómo se activaba. Mi nombre estaba codificado con FAT así que no podía encontrarse simplemente buscando en el archivo.

Después de entregar el código, fue enviado a ASCII en Japón. Ellos crearon el sistema de Entrada/Salida para el MSX. Informaron de fallos y los corrigieron. En una ocasión a comienzos de enero de 1984, hice una revisión que luego arruinó mi disco cuando la ejecuté de forma emulada. Desafortunadamente me acostumbré a que las cosas funcionaran y no hice ninguna copia de seguridad. Me costó un día recuperar los datos perdidos.

ASCII tenía a un programador japonés destacado en el proyecto, Jey Suzuki. Adivinó el huevo de pascua y añadió su nombre junto al mío.

ASCII estaba teniendo problemas al hacer funcionar MSX-DOS en los MSX. No me dieron ninguna máquina, y en su lugar me hicieron ir a Tokio a ayudarles. El 28 de enero salí hacia Japón con Chris Larson, donde nos encontramos con Kay Nishi y su gente. Resulta que ellos habían hackeado el código sin decírmelo, así que no estábamos trabajando en el mismo código base. Estuve tres días en Tokio adivinando los problemas (y haciendo un poco de turismo). No trabajo bien bajo presión así que allí no escribí nada de código. En febrero continué trabajando dentro y fuera de MSX-DOS.

Chris Larson y Jey Suzuki pasaron por mi oficina a finales de febrero, principios de marzo. Traían un MSX con un In-Circuit Emulator (ICE) para depurar el código. Pusimos todo a funcionar y no escuché nada más hasta abril. Había un poco más de trabajo que hacer, y entonces el 23 de abril de 1984, Microsoft aceptó la entrega y realizó el pago final.

Corregí unos cuantos errores después de eso, pero fue prácticamente el final de mi contacto con el proyecto. nunca escuché nada más sobre MSX.

Espero que esto conteste a vuestras preguntas.

Tim Paterson Paterson Technology http://www.patersontech.com/

3 comentarios sobre «Historia del desarrollo de MSX-DOS»

  1. Nada que decir sobre el desarrollo del MSX-DOS, pero sobre que sea el «auto original del MS-DOS», hay mucho que decir, un juez (Zilly) en julio de 2007, declaró que Paterson había copiado 36 de las primeras funciones de CP/M y que Paterson sencillamente había hecho un cambio de nombre de las mismas por ejemplo «Read sequential» del CP/M por «Sequential read», «Read Random» por «Random Read»…
    A lo que voy, es que el verdadero padre del «DOS», fue Gary Kildall, puesto que Paterson copió CP/M y lo llamó «QDOS» basura que después vendió a Microsoft por 50.000 dólares (Me alegra que no le contasen todo el negocio (la parte de la venta del SO a IBM para que viniera con sus PC’s la omitieron y así se ahorrasen tener que pagarle más)). Microsoft lo renombró a «MS-DOS» y se lo licenció (retuvo los derechos sobre el SO) a IBM, el resto es bien conocido.
    Este tipo intentó iniciar acciones legales contra el escritor y periodista Harold Evans, que dijo que había clonado el CP/M de Gary Kildall, fueron a juicio y su querella contra Evans fue desestimada.
    Yo tuve Dr.DOS y os puedo decir que le daba mil vueltas como SO a MS-DOS (Todos los que usaron Dr.DOS lo saben), tanto que, cada vez que Dr.DOS sacaba una característica, MS-DOS la clonaba en su siguiente versión… Y también podéis ver (en la red están) los mensajes de correo electrónico de varios trabajadores de Microsoft que, tenían orden expresa de Bill Gates de impedir la actualización desde Dr.DOS a Windows. Está judicialmente demostrado que Microsoft usó esas tácticas para meter miedo a los usuarios y que abandonasen Dr.DOS si querían pasar a Windows. Si alguien lo desea puedo pasar enlaces, para que se vean las tácticas «filibusteras» que usaron contra el pobre Gary Kildall.

Deja tu comentario sobre esto

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.