Capítulo 4. Discos y cintas

Parte 1: Discos

Contenido:


Discos de trabajo

En esta sección vamos a explicar cómo preparar discos para el trabajo diario y a presentar algunas funciones de CP/M y sus programas de ayuda.

Temas tratados:

  • Copia de los discos maestros.
  • Introducción a CP/M Plus.
  • Utilización de los ficheros HELP.
  • Utilización de una y dos unidades de disco.
  • Copia de ficheros con PIP.
  • Trabajo con discos para BASIC (sin CP/M).
  • Instalación de aplicaciones "llave en mano" en BASIC de AMSTRAD.
  • Instalación de aplicaciones "llave en mano" en CP/M Plus.
  • Introducción al GSX.
  • Trabajo con CP/M 2.2.

En la parte 7 del "Curso de introducción" hemos explicado como inicializar un disco virgen para utilizarlo tanto con BASIC como con CP/M.

En la parte 10 del "Curso de introducción" vimos cómo copiar discos con el programa DISCKIT3 (cara 1 del juego de discos del sistema).

En esta sección vamos a abordar la preparación de discos con los programas deseados.

Copia de los discos maestros

Es muy importante hacer una copia de los discos maestros del sistema y de ayudas que se suministran con el ordenador y guardar en lugar seguro los originales, pues sería muy costoso sustituirlos si resultaran dañados. Recuerde que cada disco tiene dos caras, por lo que en los discos maestros hay en total cuatro caras:

  • La cara 1 es la más importante; contiene el sistema operativo CP/M Plus y un conjunto de programas de ayuda para el manejo de discos.

  • La cara 2 contiene una serie de ficheros para programación en ensamblador.

  • La cara 3 contiene Dr. LOGO, diversos ficheros "HELP" y el sistema GSX (que describiremos más adelante).

  • La cara 4 contiene el CP/M 2.2 y el Dr. LOGO que se suministra con los modelos CPC664 y CPC464+DDI1; los incluimos por razones de compatibilidad, pero normalmente no serán necesarios.

Considere sus copias de los discos maestros como una "biblioteca" de programas. Para ejecutar uno de estos programas, el procedimiento habitual es insertar en la unidad el "disco de biblioteca" en el que se encuentre el programa y cargarlo con él, en lugar de copiar el programa en un disco nuevo y cargarlo desde éste.

Insistimos una vez más en que los "discos de biblioteca" para el trabajo diario tienen que ser copias de los discos maestros que se suministran con el ordenador.

Recuerde que el programa DISCKIT3 (cara 1) inicializa el disco destino al mismo tiempo que copia, de modo que se puede hacer una copia en un disco virgen sin necesidad de inicializarlo previamente.

Introducción a CP/M Plus

El lector ya se habrá habituado a trabajar con el BASIC de AMSTRAD, programa que controla el CPC6128 desde el momento en que se lo enciende hasta que, o bien se ejecuta algún programa binario desde AMSDOS, o bien se carga CP/M Plus con la orden externa |cpm.

Una vez cargado CP/M Plus, el ordenador no necesita volver a leer la cara 1 (salvo, por supuesto, que se quiera cargar alguno de los programas de ayuda que están grabados en esa cara). Por esta razón, el disco de arranque es el único que tiene que ser un disco de sistema; todos los demás pueden tener formato "de datos", lo que les da mayor capacidad de almacenamiento.

Para ejecutar un programa de CP/M lo único que hay que hacer es insertar el disco en el que esté grabado y escribir el nombre del programa. Los datos utilizados por el programa pueden estar en el mismo disco o en otro. CP/M Plus permite cambiar discos, lo mismo que AMSDOS. Si por comodidad se prefiere agrupar varios programas en un mismo disco, quizá junto con algunos programas de ayuda, se puede utilizar el programa PIP de la cara 1 según explicaremos más adelante (en este capítulo y en el siguiente).

El programa PROFILE

El disco del sistema contiene un fichero especial, llamado PROFILE.SUB, que contiene una serie de órdenes que se ejecutan automáticamente en el momento de cargar CP/M Plus. Si no lo ha hecho todavía, inserte en la unidad una copia de la cara 1 de los discos maestros, cargue CP/M Plus y, cuando aparezca el mensaje A>, escriba:

REN PROFILE.SUB=PROFILE.ENG

Esta orden ha creado el fichero PROFILE.SUB a partir de PROFILE.ENG cambiándole el nombre (REN es abreviatura de rename, "renombrar"). Este fichero, que será ejecutado siempre que se cargue CP/M Plus, contiene las siguientes órdenes:

SETKEYS KEYS.CCP
LANGUAGE 3

las cuales modifican la función de las teclas del cursor (para adaptarlas a la escritura de órdenes de CP/M) y transforman la salida por la pantalla de la versión EE.UU. a la versión UK (Reino Unido), haciendo que la tecla [SHIFT]3 genere el símbolo "£".

Cuando el teclado ha sido preparado con la orden SETKEYS.CCP, las líneas de ordenes de CP/M se pueden editar de forma similar a como se hace en BASIC. En el capítulo 5, parte 2, explicaremos SETKEYS detalladamente.

El programa HELP

En la cara 3 de los discos del sistema está grabado un programa especial, llamado HELP; es una especie de manual de instrucciones electrónico que describe los programas de ayuda de CP/M Plus. Para ejecutar este programa, inserte la cara 3 y escriba, tras el mensaje A>, lo siguiente:

HELP

El programa le hará las preguntas y le pedirá las respuestas necesarias para guiarle hasta la información requerida.

¿Cuántas unidades de disco?

Cuando se carga CP/M Plus, una de sus primeras acciones es detectar cuántas unidades de disco hay conectadas. Este número se visualiza como parte del mensaje de presentación. El resultado de la comprobación se puede falsear si en la segunda unidad hay un disco parcialmente insertado.

Todos los mensajes de error relativos a los mecanismos de las unidades de disco se visualizan en la línea 25, en forma de cinta "sin fin". Los programas solamente utilizan las primeras 24 líneas de la pantalla.

Cuando solamente se dispone de la unidad de disco incorporada al ordenador, en la última línea de la pantalla aparece también el mensaje "Drive is A:" o "Drive is B:" ("la unidad es ..."). De esta forma CP/M Plus permite utilizar un sólo dispositivo físico como si se tratase de dos. Cuando sea necesario, el usuario tendrá que intercambiar los discos; el ordenador pedirá en cada momento el disco requerido por el programa. Este sistema hace que no sea imprescindible comprar la segunda unidad de disco, pero no puede evitar la necesidad de intercambiar los discos, a veces muy frecuentemente, lo que representa una considerable pérdida de tiempo y un riesgo de error humano.

Copia de ficheros de un disco a otro

El programa de ayuda PIP (abreviatura de Peripheral Interchange Program, "programa de intercambio entre periféricos") permite, entre otras cosas, copiar ficheros de un disco a otro:

Para cargar PIP, inserte en la unidad la cara 1 y escriba, tras el mensaje A>, lo siguiente:

PIP

Un nuevo signo "inductor", el *, indicará que PIP ha quedado cargado correctamente. Normalmente se copiará de un disco fuente (en la unidad A:) a un disco destino (en la unidad B:). Ya hemos visto que en los sistemas de una sola unidad de disco las unidades A: y B: son el mismo dispositivo físico.

Para copiar un fichero (por ejemplo, el SUBMIT.COM), escriba después del * lo siguiente:

B:=A: SUBMIT.COM

Para copiar todos los ficheros del disco fuente al disco destino, escriba:

B:*.*

Para abandonar PIP, pulse [RETURN] tras el inductor *.

PIP es un programa muy complejo. En el capítulo 5 lo describiremos más detalladamente.

Disco para BASIC (sin CP/M)

Como ya hemos mencionado, el único disco que se necesita con formato de sistema es el que se utiliza para cargar CP/M Plus. Por lo tanto, los discos destinados a BASIC pueden tener formato "de datos", con el cual la capacidad de almacenamiento es algo mayor.

El disco debe ser inicializado con el programa DISCKIT3. Para copiar programas se puede utilizar PIP (cara 1), o bien cargarlos (LOAD) y grabarlos (SAVE) desde BASIC.

Discos llave en mano de BASIC de AMSTRAD

Si usted compra una aplicación escrita en BASIC de AMSTRAD para el CPC6128, debería estar lista para funcionar sin más preparativos. Todo lo que tendrá que hacer es copiarla en un disco de trabajo y guardar el original.

Programas llave en mano de CP/M

El sistema operativo CP/M permite disponer de una inmensa variedad de programas que han sido escritos para los ordenadores personales que pueden trabajar con CP/M. El funcionamiento básico de los programas ya está decidido; todo lo que hay que hacer es instalarlos en un disco adecuado y quizá informarles del método de gestión de la pan talla característico del CPC6128.

Un conjunto de programas diseñado para realizar una aplicación específica es lo que se denomina un "paquete". Los paquetes están diseñados normalmente para funcionar en diversos ordenadores, cada uno de los cuales tendrá un propio método de gestión de la pantalla y de movimiento del cursor.

El CPC6128, cuando funciona con CP/M, está dotado de un "emulador de consola"; las características son diferentes de los códigos de control utilizados por BASIC.

En ocasiones el paquete que usted adquiere ya habrá sido "instalado" en el Amstrad; de lo contrario, ofrecerá un menú para realizar la adaptación. Si el programa da instrucciones para el protocolo Zenith Z19/Z29, sígalas. Si no menciona esta variante ni tampoco una específica de Amstrad, consulte la sección titulada "Configuración de un programa en CP/M", en la que se indica qué códigos se deben mandar a la pantalla para producir los efectos requeridos por los paquetes. Generalmente, la instalación (o adaptación) requerirá que se tecleen los códigos adecuados cuando el programa lo pida. Siga, en todo caso, las instrucciones suministradas con los programas.

El paquete que usted adquiera tiene que estar en un disco adecuado para este sistema. Casi todos los ordenadores tienen su propio formato de disco. Aunque el tamaño sea el mismo, no por ello está garantizada la compatibilidad. Al comprar un paquete de programas, pida a su proveedor la versión para Amstrad CPC6128 en discos de 3 pulgadas.

Creación de un disco de trabajo para programas llave en mano de CP/M

Es aconsejable copiar los programas del paquete en otro disco y guardar el original. Además, suele ser conveniente copiar en el mismo disco el programa SETKEYS.COM, y quizá también SUBMIT.COM (con sus correspondientes ficheros de instrucciones).

Se puede utilizar PIP para copiar los ficheros .COM, y también para elaborar un fichero de instrucciones para SUBMIT. En esta última aplicación PIP funciona como sencillo editor de líneas. Por ejemplo, el fichero LOGO3.SUB de la cara 3 se podría haber creado de la siguiente forma:

(Inserte el disco del sistema, cara 1, en la unidad A:.) Escriba:

PIP

(Extraiga el disco del sistema e inserte el de destino.) Escriba:

LOGO3.SUB=CON:
SETKEYS KEYS.DRL
[CONTROL]J LOGO3
[CONTROL]Z

Configuración de un programa de CP/M

El CPC6128 maneja una amplia variedad de códigos de control, gracias a los cuales se lo puede adaptar a cualquier programa escrito para CP/M. La mayor parte de los programas de proceso de datos, así como muchos otros paquetes de aplicaciones, necesitan poder escribir mensajes en determinados lugares de la pantalla, leer caracteres escritos en ella y entender los códigos de movimiento del cursor.

Si su paquete de programas ya ha sido adaptado al ordenador Amstrad, no es necesario que se preocupe por estas cuestiones.

Configuración de la salida de un paquete

La instalación de un paquete requiere normalmente la ejecución de un programa especial (habitualmente llamado INSTALL) el cual, si no menciona terminales del tipo Z19/Z29 ni el CPC6128 específicamente, hará al usuario una serie de preguntas sobre las características de la pantalla del 6128. Para introducir las respuestas necesitará consultar la tabla siguiente, que es un resumen de la parte 15 del capítulo 7.

Códigos
de control
HexadecimalDecimalOperación
[BEL]&077Producir un pitido
[BS]&088Cursor a la izquierda una posición
[LF]&0A10Cursor abajo una línea
[CR]&0D13Cursor al borde izquierdo de la ventana, en la línea actual
[ESC]A&1B &4127 65Cursor arriba una línea
[ESC]C&1B &4327 67Cursor a la derecha una posición
[ESC]E&1B &4527 69Borrar pantalla
[ESC]H&1B &4827 72Cursor a su posición inicial (extremo superior izquierdo de la ventana)
[ESC]J&1B &4A27 74Borrar desde la posición actual del cursor inclusive hasta el final de la pantalla
[ESC]K&1B &4B27 75Borrar desde la posición actual del cursor inclusive hasta el borde derecho de la pantalla
[ESC]L&1B &4C27 76Insertar línea
[ESC]M&1B &4D27 77Borrar línea
[ESC]N&1B &4E27 78Borrar el carácter que está en la posición del cursor
[ESC]Y&1B &59
<c><f>
27 89
<c><f>
Llevar el cursor hasta la posición especificada de la pantalla, donde <c> es el número de columna más 32 y <f> es el número de fila más 32
[ESC]d&1B &6427 100Borrar desde el principio de la pantalla hasta la posición actual del cursor inclusive
[ESC]o&1B &6F27 111Borrar desde el borde izquierdo de la pantalla hasta la posición actual del cursor inclusive
[ESC]p&1B &7027 112Activar video inverso (intercambio de colores de papel y pluma)
[ESC]q&1B &7127 113Desactivar video inverso

Configuración de la entrada a un paquete

Los programas del paquete generalmente necesitarán captar datos a través del teclado. Casi todas las teclas del CPC6128 generan valores estándar, a excepción de las de movimiento del cursor. Se puede utilizar SETKEYS para redefinir los códigos producidos por el teclado; sin embargo, es preferible adaptar cada programa para que acepte los códigos estándar.

Lamentablemente, no hay ninguna norma general común a todos los programas en cuanto a qué teclas se deben pulsar para realizar las diversas funciones de control. Los caracteres visibles, el "espacio", [TAB] y [RETURN] están bastante estandarizados; pero en cambio es notorio el desacuerdo en el "retroceso del cursor", y mucho más en las restantes funciones. Compárese, por ejemplo, los códigos que significan "cursor al principio de línea" en los siguientes casos:

  • En CP/M: [CONTROL]B.
  • En Dr. LOGO: [CONTROL]A.
  • En ciertos procesadores de texto: [CONTROL]Q S.

Con los discos del sistema se suministran tres juegos de definiciones del teclado (parte 2 del capítulo 5). Por ejemplo,

SETKEYS KEYS.CCP

orden ya descrita como una de las que ejecuta automáticamente el programa PROFILE.SUB, adapta el teclado para la escritura de órdenes de CP/M.

Ejecución de un paquete llave en mano de CP/M

Normalmente, basta con escribir el nombre del programa a la derecha del mensaje inductor A>. Por ejemplo, para poner en marcha un programa de nóminas llamado NOMINAS.COM se escribiría, sencillamente,

NOMINAS

Si alguna configuración requiere cierta preparación, quizá incluya un fichero de tipo .SUB. Un ejemplo es el LOGO3.SUB que está grabado en la cara 3. Este fichero se invoca mediante la orden

SUBMIT LOGO3

Para examinar el fichero se puede escribir

TYPE LOGO3.SUB

y se comprueba que contiene

SETKEYS KEYS.DRL      ... para redefinir el teclado
LOGO3                 ... para ejecutar el programa Dr. LOGO
SETKEYS KEYS.CCP      ... para devolver el teclado a la situación inicial

Arranque automático de un paquete llave en mano en CP/M

Se puede hacer que cada vez que se cargue el sistema operativo CP/M Plus con el disco de arranque, el propio sistema ponga en marcha un programa concreto. La forma de conseguirlo es poner el nombre del programa al final del fichero PROFILE.SUB que haya en ese disco.

Introducción al GSX

GSX es un sistema de gestión de gráficos que permite a los programas de CP/M dar como salida gráficos además de texto. Se utiliza GSX para aplicaciones tales como dibujar diagramas de barras y de sectores o para escribir encabezamientos y textos, con tipos de letra y tamaños distintos de los normales. En la figura siguiente se muestra una reproducción de una salida típica obtenida con GSX. Las salidas se pueden dirigir a la pantalla, a una impresora o a un plotter.

El sistema GSX por sí mismo no es capaz de dibujar, por lo mismo que CP/M no puede realizar proceso de textos: se requiere en cada caso un programa específico. El ejemplo de la figura se obtuvo mediante el programa "DR Graph" de Digital Research. Lo que sí hace GSX es estandarizar el acceso a pantallas, impresoras y plotters, de forma que los programas de aplicación sean transportables de unas máquinas a otras sin requerir más que un mínimo de trabajo de reinstalación.

Para crear un disco con el que se puedan ejecutar programas GSX, copie (de la cara 3), mediante PIP, los ficheros GSX.SYS, ASSIGN.SYS y los controladores de dispositivo requeridos (junto con el propio programa de aplicación) en un disco vacío. El fichero ASSIGN.SYS contiene una lista de hasta tres controladores de dispositivo, en orden inverso de su tamaño:

21  a:ddfxlr7   ;  Epson 7 bit printer      impresora Epson de 7 bits
11  a:ddhp7470  ;  Pen plotter              plotter
01  a:ddmode2   ;  Screen in mode 2         pantalla en modo 2
02  a:ddmode1   ;  Screen in mode 1         pantalla en modo 1
03  a:ddmode2   ;  Screen in mode 0         pantalla en modo 0

Los números (01 a 21) informan a GSX del tipo de dispositivo de que se trata (impresora, plotter o pantalla). En todo momento no hay más que un controlador de dispositivo cargado en la memoria; por eso GSX necesita conocer el tamaño del mayor con el fin de reservarle el espacio necesario.

Con los discos se proporcionan diversos controladores para los tres modos de pantalla del 6128 y para las impresoras y plotters estándar. El fichero DRIVERS.GSX contiene una lista de los disponibles. Lea este fichero insertando en la unidad la cara 3 y escribiendo tras el mensaje A> lo siguiente:

TYPE DRIVERS.GSX

para seleccionar los controladores de dispositivo requeridos.

Un ejemplo de salida por impresora obtenida con GSX.

Normalmente los programas de aplicación incluirán un cargador de GSX, de modo que para ejecutar el programa bastará con escribir el nombre del programa en respuesta al mensaje A>. No obstante, si su aplicación no tiene instalado el cargador de GSX, copie el fichero GENGRAF.COM (cara 3) en su disco de trabajo y luego escriba

GENGRAF PROGRAMA

donde PROGRAMA.COM es el nombre de la aplicación no instalada. Ahora puede borrar GENGRAF.COM, puesto que PROGRAMA.COM ya contiene el cargador de GSX.

Trabajo con CP/M 2.2

A diferencia de CP/M Plus, CP/M 2.2 (que es una versión anterior) es muy exigente en cuanto al cambio de discos. Frecuentemente requiere que se vuelva a cargar parte del sistema operativo con un disco de sistema instalado en la unidad A:, en particular cuando reaparece el mensaje inductor A> después de ejecutar un programa. Por esta razón se suelen utilizar con CP/M 2.2 discos con formato de sistema. Cuando no se dispone de segunda unidad de disco, para copiar ficheros hay que utilizar FILECOPY en lugar de PIP.

Se recomienda no utilizar CP/M 2.2 más que para ejecutar programas diseñados para los modelos CPC664 y CPC464+DDI1, los cuales pueden no ser compatibles con CP/M Plus.

Advertencia. Algunas aplicaciones escritas para los modelos CPC664 y CPC464+DDI1 contienen ciertas instrucciones específicas de la máquina y no funcionarán, por tanto, con CP/M Plus. En tales casos será necesario utilizar CP/M 2.2, que está grabado en la cara 4 del juego de discos que se suministra con el ordenador CPC6128.