MSX-DOS


MSX-DOS es un sistema operativo de disco descontinuado desarrollado por Microsoft para el estándar de computadora doméstica de 8 bits MSX , y es un cruce entre MS-DOS 1.25 y CP / M-80  2.

Microsoft y Spectravideo desarrollaron simultáneamente MSX-DOS y el BASIC extendido con soporte para disquetes de 3½ pulgadas como un estándar de software y hardware para el estándar de computadora doméstica MSX, para agregar capacidades de disco a BASIC y darle al sistema un medio de software más económico que Cartuchos de memoria y un sistema de almacenamiento más potente que la cinta de casete . [1] El BIOS estándar de una computadora MSX no expandida no tenía soporte para disquetes, por lo que el sistema de expansión de disquete adicional venía con su propia ROM de extensión de BIOS (incorporada en el controlador de disco) llamada BDOS. Spectravideo también lanzó un disco MSX-DOS junto con el SVI-707 que podría cargarse en un sistema MSX. Una vez que se ha cargado MSX-DOS, el sistema busca el archivo COMMAND.COM en el disco de MSX-DOS y lo carga en la memoria. [2] No solo agregó comandos de soporte de disquete a MSX BASIC , sino también un sistema de arranque , con el cual era posible arrancar un sistema operativo de disco real. En ese caso, el BDOS pasó por alto las ROM BÁSICAS, por lo que los 64 KB de espacio de direcciones del microprocesador Z80 dentro de la computadora MSX podrían usarse para DOS o para otros discos de arranque, por ejemplo, juegos basados ​​en disco. Al mismo tiempo, todavía se puede acceder a las ROM de BIOS originales a través de un " interruptor de banco de memoria"mecanismo, de modo que el software basado en DOS todavía podría usar llamadas de BIOS para controlar el hardware y otros mecanismos de software que suministraban las ROM principales. Además, debido a la ROM de BDOS, las capacidades básicas de acceso a archivos estaban disponibles incluso sin un intérprete de comandos mediante el uso de BASIC extendido comandos.

En el inicio inicial, COMMAND.COM busca un archivo por lotes opcional llamado AUTOEXEC.BAT y, si existe, ejecuta los comandos especificados allí. [3] Si no se invoca MSX-DOS y se inicia Disk BASIC , en su lugar se ejecutará un programa BASIC llamado "AUTOEXEC.BAS", si está presente. [3]

Una diferencia importante entre MSX-DOS y MS-DOS 2.x era que MSX-DOS no usaba el "sector de arranque" en el disquete para arrancar, sino que arrancaba utilizando las rutinas de ROM de BDOS, [ cita requerida ] y, en un De manera muy similar a MS-DOS 1.25, utilizó el valor de ID de FAT del primer byte de FAT para seleccionar perfiles de parámetros del sistema de archivos para su sistema de archivos FAT12 en lugar de hacerlo desde el Bloque de parámetros del BIOS.(BPB) en el sector de arranque. Además, debido a que podría haber más de un controlador de disquete en dos o más ranuras de cartucho, MSX-DOS podría arrancar desde varias unidades de disquete diferentes. Esto significaba que era posible tener ambos, una unidad de disquete de 5¼ "y una unidad de disco de 3½", y el usuario podía iniciar desde cualquiera de ellos dependiendo de qué unidad tuviera un disquete de inicio.

El 10 de agosto de 1983, Paul Allen llamó a Tim Paterson , autor original de 86-DOS y MS-DOS 1.x, pidiéndole que hiciera una " versión Z80 de MS-DOS" para el estándar MSX. [5] En ese momento, Paterson estaba ocupado tratando de preparar el primer producto de su startup Falcon Systems , por lo que sugirió algunos otros desarrolladores, pero Allen dijo que ya lo había pedido. Allen tenía prisa por hacerlo y nadie más podía cumplir con su línea de tiempo. Allen y Paterson finalmente estuvieron de acuerdo, y el 17 de agosto firmaron un acuerdo para hacer "Z80 MS-DOS 1.25" por US $ 100,000 y los derechos para que la compañía de Paterson distribuyera MS-DOS 2.0 , 2.5 y 3.0.con un producto de hardware sin royalties. [6]

Para Paterson, esto fue principalmente un proceso de traducción. Ya había escrito un programa de traducción en lenguaje ensamblador de Z80 a 8086 ( TRANS.COM ). En este caso, estaba traduciendo manualmente en la otra dirección. Debido a que MS-DOS 1.x se modeló a partir de la API de CP / M y pudo ejecutar aplicaciones CP / M que se habían traducido a nivel de fuente a 8086, eso significaría que MSX-DOS podría ejecutar programas CP / M directamente . [6]