En esta ocasión el tuto versa sobre los comandos de esxDOS, una de las caracteristicas que distinguen a esxDOS de otros firmwares para divIDE.
COMANDOS esxDOS
Existen dos tipos diferentes de comandos de esxDOS, los llamados "DOT" commands, que como su nombre indica comienzan por un punto, y las extensiones de la funcionalidad de comandos existentes en el basic.
[img=center]https://lh3.googleusercontent.com/-K2Yz ... o/LOAD.PNG[/img]
"DOT" COMMANDS
Cuando trabajamos en modo 48K, la forma de trabajar del teclado nos limita el número de comandos que podemos escribir.
Ya sabéis, el cursor comienza conteniendo una "K" y a la pulsación de cualquier tecla se inserta el comando correspondiente.
Esto fue una optimización bastante buena, que le permitió al tío Clive, que no paraba de quemar neuronas pensando cómo hacer su producto más barato , ahorrar memoria a la hora de procesar las entradas por teclado y reducir la memoria que ocupaba una línea de programa, almacenando los comandos como tokens.
El inconveniente viene cuando quieres añadir nuevos comandos. Es imposible hacerlo de una manera lógica porque no vienen previstos en el teclado, y toca empezar a hacer ñapas.
Para esquivar este inconveniente una técnica muy popular es anteponer un símbolo de los que vienen en rojo en el teclado del spectrum gomas. A partir de ese momento el cursor cambia a "L" y ya puedes escribir lo que quieras.
Pues bien, en el caso del esxDOS, se ha optado por anteponer un "." (punto) a los comandos nuevos.
[img=center]https://lh6.googleusercontent.com/--pl2 ... /mkdir.gif[/img]
El listado de nuevos comandos "punto" que se han añadido hasta ahora es muy extenso y tiene una nomenclatura bastante linuxera.
Algunos ejemplos son los siguientes:
.ls, .cd, .tapein, .tapeout, .chmod, .mkdir, .mv, cp, .more, .divideo, .vdisk, .playwav, .dskprobe, .snapload, .gramon, .speakcz.
Los "DOT" commands se cargan en el momento los utilizamos y residen en la carpeta SYS. De hecho, muchos de estos comandos han sido implementados a posteriori como aportaciones de usuarios.
Os invito a que exploréis el contenido de la carpeta SYS y comprobaréis que existe un archivo por cada comando.
Vamos con su manejo.
Lo primero que debéis saber es que podéis consultar la sintaxis de un comando, tecleandolo sin parametros. Siempre y cuando, claro está, que el comando no se pueda usar sin parámetros .
Por ejemplo:
Código: Seleccionar todo
.tapeout
Vamos a repasar la sintaxis de muchos de los comandos uno por uno.tapeOUT v0.1 (c) phoenix
Usage: tapeout [args] [tapfile]
-c: Close file
-o: Overwrite file
El comando .ls.
Como podrá adivinar cualquiera que conozca mínimamente Linux, el comando .ls permite mostrar un listado de los archivos que contiene la carpeta actual.
.ls se puede usar sin parámetros o pasandole como parámetro un nombre de directorio.
En este último caso mostrará por pantalla los archivos contenidos en dicho directorio.
El resultado será algo como esto.
[img=center]https://lh3.googleusercontent.com/-4aqO ... esxdos.gif[/img]
El comando .cd.
De nuevo, al igual que en linux (y también en DOS), sirve para cambiar el directorio activo.
El directorio al que queremos cambiar se especifica como parámetro, y sigue las reglas de sintaxis de Linux.
Si utilizamos .cd sin parámetros, nos mostrará el directorio activo.
Ejemplo:
Si estamos en el directorio raiz y queremos cambiar al subdirectorio /games teclearemos.
Código: Seleccionar todo
.cd games
El comando .mkdir.
Crea un directorio ubicado en el directorio activo. Admite como parámetro el nombre del nuevo directorio a crear.
Ejemplo:
Si estamos en el directorio raiz y queremos crear el subdirectorio /juegos teclearemos.
Código: Seleccionar todo
.mkdir juegos
Dependiendo de los parámetros, renombra o mueve un archivo o un directorio.
La sintaxis del comando es:
Código: Seleccionar todo
.mv <origen> <destino>
La mala noticia es que de momento, ni este ni los siguientes comandos admiten comodines.
Tendremos que esperar a las siguientes versiones.....
Ejemplos:
Código: Seleccionar todo
.mv hola1 hola
Código: Seleccionar todo
.mv BATMAN.TAP BATMAN.PAP
Código: Seleccionar todo
.mv BATMAN.TAP /games/BATMAN.TAP
El comando .cp.
La sintaxis de este comando es prácticamente idéntica a la del comando .mv, pero en este caso el resultado será que se creará un copia del fichero, conservándose el mismo en su posición original.
Código: Seleccionar todo
.cp BATMAN.TAP /games/BATMAN.TAP
El comando .more.
Es un comando que nos permite visualizar archivos de texto. Es el equivalente al comando type del msdos.
La sintaxis es:
Código: Seleccionar todo
.more <archivo de texto>
Nos permitirá modificar los atributos de un determinado fichero.
La sintaxis es:
Código: Seleccionar todo
.chmod <+/-><attr> <archivo>
Código: Seleccionar todo
.chmod +h BATMAN.TAP
Anteponiendo el signo - se desactivan los atributos y con + se activan.
Los comandos .tapein y .tapeout.R Permiso de lectura.
W Permiso de escritura
X Permiso de ejecución
A Atributo de archivo.
S Atributo de sistema.
H Atributo de archivo oculto.
Estos dos comandos nos permite utilizar un archivo .tap como si de una cinta virtual se tratara.
El comando .tapein nos permitirá asignar un archivo tap a la entrada del spectrum, y el comando .tapeout nos permitirá asignar otro archivo diferente a la salida.
Es algo así como si tuvieramos dos computones y conectaramos uno de ellos al ear (.tapein) y el otro al mic (tapeout.).
La sintaxis es la siguiente:
Código: Seleccionar todo
.tapein [args] <fichero de entrada>
args:
-c cerrar fichero
-p activa/desactiva la pausa de screen$
-a hace un reset rápido y carga
-r rebobina la cinta
-s <ptr> posiciona la cinta en el archivo nº ptr
.tapeout <fichero de salida>
-c cerrar fichero
-o sobreescribir fichero
Código: Seleccionar todo
.tapein archivo1.tap
.tapeout archivo2.tap
Por otro lado, todo lo que intentemos cargar con LOAD se intentará leer desde archivo1.tap.
Código: Seleccionar todo
.tapein -s 5 archivo1.tap
.tapeout -o archivo2.tap
El comando .vdisk
El comando vdisk nos permitirá montar un archivo .TRD como unidad de disco virtual para el emulador de TR-DOS.
La sintaxis es:
Código: Seleccionar todo
.vdisk unit <filename>
Unidad 0 = Drive A, Unidad 1 = Drive B, etc.
Con el comando .dsprobe que veremos en el siguiente capítulo, podemos inspeccionar el contenido de vdisk.
Una vez montadas todas las unidades que queramos utilizar, podremos entrar en el emulador de TR-DOS escribiendo lo siguiente:
Código: Seleccionar todo
RANDOMIZE USR 15616
[img=center]https://lh4.googleusercontent.com/-ckJ2 ... 391000.tif[/img]
Desde aquí podremos utilizar el spectrum en modo TR-DOS.
No es el objeto de este tutorial explicar los comandos del TR-DOS, pero si queréis aprender a utilizarlo, podéis consultar este valioso documento del "Trastero del Spectrum".
Y hasta aquí llega esta entrega. En la siguiente entrega completaremos los "DOT" commands con algunos comandos bastante potentes pero menos utilizados que los vistos hasta ahora.
Hasta la próxima.