Dispositivos DEV_ y el comando DEV_USE en el QL


Autor: Dilwyn Jones
Traducción y adaptación: afx

Muchos usuarios actuales del QL tienen ahora acceso a los directorios de nivel 2 en sus sistemas, ya sea bien a través de discos duros o mediante el uso de un sistema con disqueteras HD o discos ED. Es bastante fácil instalar el software en estos discos organizados en directorios para asegurarnos que los discos individuales o unidades de disco duro no se llenen de masas de pequeños programas en el directorio raíz. Pero muchos programas QL fueron escritos para usuarios que no tenían disco duro o sistemas de directorios de nivel 2, y muchos de ellos no ofrecen la posibilidad de trabajar con sub-directorios. El manual de la Gold Card nos sugiere una forma de hacer que estos antiguos programas sigan funcionando mediante el empleo de dispositivos DEV y el comando DEV_USE, pero esto no es muy obvio debido a que las indicaciones están ocultas en medio de los detalles de las distintas opciones disponibles. Es conveniente leer primero las notas sobre los dispositivos DEV en el manual de la Gold Card, luego leer este artículo y probar los ejemplos que se ofrecen más abajo.

El uso es simple, copia los ficheros de los programas dentro de un subdirectorio, a continuación usa el comando DEV_USE para asignar los directorios predeterminados y, finalmente, cambia el nombre del dispositivo DEV para que responda a los dispositivos habituales como FLP1_ y FLP2_ que son reconocidos por la mayoría de los programas. En otras palabras, “mágicamente” esto hace que el software funcione desde un disco duro o desde un subdirectorio sin tener que actualizar o cambiar los programas que no están preparados para el uso de subdirectorios.

Tomemos como ejemplo el procesador de textos Quill. Dado que los usuarios de Quill tienden a generar una gran cantidad de archivos de texto, sería deseable poder colocar los archivos del propio Quill dentro de su propio ‘slot’ o ‘carpeta’ en la unidad, de modo que la relación extensa de archivos de texto esté en otra localización y no se mezclen con los archivos del programa. Para ello podemos crear 2 directorios de la siguiente manera:

    MAKE_DIR WIN1_QUILL_

Los ficheros de Quill los colocaremos en este directorio, WIN1_QUILL_ (los dispositivos WIN corresponden al disco duro de un sistema QL). Luego podemos crear un sub-directorio para almacenar los ficheros de texto.

 
    MAKE_DIR WIN1_QUILL_DATA_

Por lo tanto nuestros archivos de texto pueden ser guardados al estilo de WIN1_QUILL_DATA_carta1_doc, por ejemplo. Pero ¡NO!, ¡Quill no te permitirá ficheros con nombres largos de esa manera! Aquí es donde el dispositivo DEV viene al rescate.

Básicamente, lo que hacemos ahora es dejar que el software siga funcionando por sí solo como siempre lo ha hecho y que crea que se sigue cargando y guardando datos desde FLP1_ y FLP2_. Sin embargo, el QL cambiará automáticamente estos nombres para que redirigirlos a WIN1_QUILL_ y WIN1_QUILL_DATA respectivamente, ofreciendo una forma automática y sencilla de utilizar directorios con el mínimo esfuerzo por parte del usuario sin la necesidad de hacer cambios difíciles de software que no está preparado para trabajar con directorios.

Mediante los dispositivos DEV y el comando DEV_USE podemos hacer creer a nuestros programas que están colocados en los FLP1_, FLP2_, MDV1_, MDV2_ (o cualquier otro dispositivo) aunque ellos estén alojados físicamente en un subdirectorio particular.

Siguiendo nuestro ejemplo, podemos establecer dos dispositivos DEV, uno para acceder al programa, a los archivos de ayuda, al controlador de la impresora y cosas así; y el otro para los ficheros de datos. Asumiendo que tenemos configurado Quill para cargar los archivos de ayuda desde FLP1_, para acceder a sus archivos DAT de los controladores de impresora desde FLP1_, y para cargar y guardar archivos a y desde FLP2_, tendríamos que asignar los directorios de la siguiente manera.

100 DEV_USE 1, WIN1_QUILL
110 DEV_USE 2, WIN1_QUILL_DATA
120 DEV_USE 'FLP'

Por lo tanto, cada vez que le dices a Quill que guardare un archivo como ‘FLP2_micarta_doc’ realmente lo está convirtiendo en WIN1_QUILL_DATA_micarta_DOC. Cada vez que le pides a Quill que liste los archivos de FLP2_, realmente la lista de archivos se está extrayendo de WIN1_QUILL_DATA_.

Tendrás que hacer un pequeño programa en Basic como este para cada programa al que le quieras reasignar sus unidades, pero esto supone bastante menos trabajo que modificar u obtener versiones actualizadas (si las hubiera) de todos tus programas que no funcionen de forma adecuada con sub-directorios. Úsalo en un programa boot de tu aplicación (renombra el boot normal del programa como ‘boot2’ por ejemplo, y salva este como el BOOT de tu programa en un direcotorio relevante).

NOS QUEDA UN PROBLEMA. ¡Ahora no podremos usar los discos flexibles! Cualquier referencia a FLP1_ y FLP2_ automáticamente el sistema nos estará redirigiendo al disco duro. La solución es renombrar los dispositivos floppy también. Esto no debería ser un problema grave en el sistema que hemos descrito ya que los disquetes se usan muy poco en un equipo con disco duro. Para hacer esta reasignación usaremos el comando FLP_USE ‘fdv’ para renombrar los discos FLP a FDV (FDV al estilo de los MDV de los microdrives). Así accederemos a las unidades de disquete usando FDV1_ y FDV2_ en lugar de FLP1_ o FLP2_.

Esto es algo que lleva algún tiempo comprender y dominar, pero no se puede explicar de una forma más simple. Es obvio que habrá excepciones, los programas que no funcionan, por ejemplo, programas de Microdrive protegidos y algunos programas que necesiten más de dos DEVS instalados, pero al menos esto es un ejemplo de trabajo que muestra lo simple que puede ser. ¡Oh sí!, no te olvides de restablecer los dispositivos después de usar el programa con el comando DEV_USE ‘dev’ y, posiblemente, FLP_USE ‘FLP’ si los habías cambiado también.

(NOTA: Asegúrate de restablecer la configuración a la normalidad cuando dejes de usar el programa en cuestión.”DEV_USE” por sí mismo, cancelará cualquier asignación DEV que hayas hecho. El no cancelar esta configuración afectará al próximo programa que ejecutes.)

Anuncios
1 comentario

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s