Categorías
Programación

Hola mundo desde .com

1.Ejecutando el sistema operativo MSX-DOS

2.Ejecutando un programa.com

3.Creando Hola mundo desde com

Introduccion

Significa Disk OperatiNG System (en este artículo vamos a ver la versión 2) fue creado por Microsoft para poder manejar grandes volúmenes de datos o espacios de almacenamiento masivo como discos duros y disquetes en formato de ficheros, pincha aquí para obtener más información, también aquí en la sección .com.

Los archivos .com son archivos creados para ser cargados desde MSX dos.

Para poder ejecutar el sistema operativo tienes que decirle al MSX que se ponga en modo cartucho, esto quiere decir que ocupe los dos o tres últimos bloques de memoria con la memoria RAM (no te preocupes si no lo entiendes), esto solo se consigue metiéndole un cartucho, después el control pasa al cartucho, pero cuando pasa el control al cartucho necesitas tener 2 archivos que le son necesarios, el command2.com y msxdos2.sys.

Existe otro sistema operativo para 8 bits que es el CPM y MSX-dos v1(ver la referencia), según la rutina que utilices será compatible o no.

La versión Nextor está basado en MSX-DOS pero la mejora.

El sistema operativo MSX-DOS se compone de dos archivos “command2.com (que es el intérprete de comandos)” y “msxdos2.sys (contiene una serie de rutinas para enlazar con la rom)”, si creamos un directorio y metemos estos ficheros, con la extensión msxdos2 del openMSX (que simula un cartucho), se ejecutará nuestro sistema operativo:

1.Ejecutando el sistema operativo MSX-DOS

Selecciona la extensión msxdos2 en el openMSX

Ahora te descargas este archivo, pincha aquí (son los 2 archivos del sistema operativo) y una vez descomprimido, pincha en el botón Disk A y elige Browse for disk folder, para engañar al openMSX y que se piense que es un disco, una vez hecho esto selecciona la carpeta donde tienes los 2 archivos descargados, después presiona start:

Ahora ya podemos utilizar los famosos comandos, como dir, cd, mkdir (para crear carpetas), etc:

Como curiosidad fíjate lo que pasa cuando en lugar de añadir msxdos2 añades MegaFlashROM SCC+SD:

2.Ejecutando un programa.com

Ahora vamos a descargarnos el programa .com, pinchando aquí que vamos a pegar dentro del directorio que le hemos metido al emulador:

Tenemos que reiniciar o cerrar y abrir el openMSX para que coja los cambios y lo ejecutamos poniendo “programa”:

3.Creando Hola mundo desde .com

El archivo msxdos2.sys es el que contiene las rutinas necesarias para poder trabajar y sustituye las de la bios, por ejemplo para poder introducir un texto utilizamos la rutina console output, para poder utilizarla primero asignamos una serie de parámetros a alguno de los registros del z80 y después debemos de utilizar siempre la misma llamada call #0005 más información de aquí.

Por ejemplo si queremos tan solo mostrar un texto primero buscamos donde ponga string output dentro de la página web y nos dice que en el registro “c” tenemos que meter un 9 en hexadecimal y en el registro “de” la dirección del texto, por supuesto, podemos seguir utilando las rutinas de la bios, vamos a hacerlo:

Vamos al vscode y le ponemos este código:

		output	"programa.com" ;esto se pone para que te cree un archio de salida con este nombre
		
		; la cabecera de los archivos com siempre es la misma, por favor ver https://www.faq.msxnet.org/suffix.html
		org		#100 
		
		;imprime Hola MSX claro pio desde com
		ld		c,9 ; le metemos el 9 en el registro c
		ld		de,texto ; le metemos el texto en los registros de
		call	#0005 ;llamamos a la turina 0005

		ret
		
texto:		
		db	" Hola MSX claro pio desde com$"
enter:
		db	#0d,#0a,'$' ;forma utilizada simpre para decirle que ha terminado el string




Lo compilamos con sjasm:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.