009:hardware

Microhobby 9. Año II, del 1 al 7 de enero de 1985

Primitivo de Francisco

Tratamos el tema del cassette esta semana porque conocemos la gran problemática que existe entre nuestros lectores respecto a la carga y salvamento de programas y juegos en cinta magnética. Con lo que sique tratamos de proporcionar una ayuda razonada sobre el tema.

El empleo de un cassette de audio como unidad de memoria de masa en el Spectrum, obedece a tres razones primordiales. Una de ellas es su costo. En la actualidad, todos disponemos de un cassette de audio más o menos sofisticado en casa. Por otra parte, en los últimos años se han popularizado enormemente los minicassettes portátiles para auriculares, circunstancia ésta que determina que efectivamente este instrumento sea, como memoria de masa, lo más barato que existe.

La segunda razón en favor del cassette, es su simplicidad de manejo y robustez.

La tercera razón es la gran relación costo-capacidad que se da en el cassette. Pensemos que en el Spectrum una cinta de media hora por cada cara (C-60) puede almacenar del orden de 375 KBytes por cara. En total, serían unos 700 KBytes.

Una cinta de calidad media puede costar unas 200 pts., lo que convierte a la cassette como memoria de masa difícil de sustituir frente al mercado de gran público.

Estos motivos han determinado que la gran mayoría de los fabricantes de microordenadores se hayan inclinado por la inclusión, en sus sistemas, de dispositivos electrónicos y software para el uso del audiocassette como memoria de masa.

En el caso del Spectrum, el sistema a cassette, por su costo sin duda, ha tenido tanta aceptación como el propio microordenador, dando lugar a que la transferencia y venta del software disponible se haga mayoritariamente vía audiocassette.

Los detractores del cassette para uso en microordenadores, arguyen su falta de operatividad, sobre todo, en el tratamiento de archivos y llevan razón. Otros inconvenientes son su lentitud de transferencia, de todos conocida, su necesaria operatividad manual y sobre todos ellos, su alta capacidad de producir errores en la transferencia, circunstancia esta última que se da con mayor profusión cuando se usan cassettes grabadas con distinto mecanismo. No obstante y, a pesar de lo dicho, es y será en un futuro inmediato, el cassette, el sistema de memoria de masa más utilizado por los consumidores de software por su costo-capacidad hasta que otros sistemas mecánicos, como el disco, o electrónicos, como la memoria de burbujas magnéticas, sean capaces de desplazar al audiocassette.

En el Spectrum, el acceso a cassette está implementado muy satisfactoriamente. Con relativamente poco Software contenido en ROM, se ha conseguido un sistema bastante fiable y fácil de usar, tanto desde BASIC como desde CODIGO DE MAQUINA. La transmisión Spectrum-Cassette se efectúa en serie, de modo que las rutinas internas descomponen cada Byte de memoria al ser transmitido y lo envían o lo reciben Bit a Bit, por las conducciones eléctricas con el cassette. La velocidad media de transmisión es de, aproximadamente, 1.600 baudios, equivalentes a 1.600 Bits por segundo. Esta velocidad no es ni alterable, ni opcional, ya que está impuesta por las rutinas de LOAD y SAVE residentes en ROM. No obstante, desensamblándolas y reduciendo los tiempos de pausa de los ceros y unos que desfilarán en serie por EAR o por MIC, se puede aumentar la velocidad de transmisión hasta lo máximo que admita el cassette de que se disponga. Por citar algún límite teórico, se puede decir que para audiocassette que disponga de un ancho de banda de 10 KHz (Frecuencia típica en un aparato no de alta fiabilidad), la velocidad máxima fiable podría ser de unos 5.000 baudios. Por supuesto, estas rutinas habrían de estar ubicadas en RAM, tal y como ocurre con algunos de los métodos de transmisión y protección de software en cassettes comerciales.

Diagrama de tiempos de la transmisión serie al cassette.

Toda transmisión normalizada a cassette, se compone de dos bloques: el bloque de cabecera y el bloque de datos, entre ambos existe una pausa próxima al segundo y medio.

En la cabecera y, previo al envío de los bytes identificadores del programa que viene a continuación, se genera un tren de impulsos de onda cuadrada, con una frecuenciade 807,3 Hz que permanece activa durante cinco segundos. Esta señal previa, tiene un cometido elevar al punto óptimo del nivel de grabación en los cassettes de registro automático. (El registro automático controla constantemente el nivel en el volumen de grabación amplificando o atenuando, con el fin de evitar señales demasiado débiles que tenderían a confundirse con el ruido eléctrico de grabación o evitar señales demasiado fuertes que producirían saturación en la cinta. Este sistema está mayoritariamente implantado en los audiocassettes). Tras esta señal se transmiten en serie 19 bytes en el siguiente orden: el primer byte es un FLAG indicativo de que lo que continúa, es una cabecera en cuyo caso es 00H, o un bloque de datos. En este segundo caso sería FFH (255). A continuación, sigue otro byte indicativo del tipo de bloque de datos que llegará después: 0 indicará que es un bloque en BASIC, 1 indicará que es un bloque compuesto por una matriz numérica, 2 que es una matriz alfanumérica y 3 que es un bloque en objeto o código máquina. A continuación, vienen 10 bytes portadores del nombre del programa, después dos bytes con la longitud del programa, luego otros dos con la dirección de arranque del programa, siguen otros dos con la ubicación de las variables del basic y por último, un byte de paridad para la comprobación de la correcta transmisión sin error de la cabecera.

El bloque de datos que sigue a la cabecera, está también precedido de un tono de 807,3 Hz que dura dos segundos. El resto del bloque se transmite similarmente a la cabecera.

Esquema de la Interface para cassette en el Spectrum y su conexión exterior.

Los bytes se transmiten, como ya hemos mencionado, en serie, por lo que hace falta una perfecta distinción entre los ceros y los unos lógicos que se desplazan.

Tanto los unos como los ceros se componen de un impulso, cuyo período se reparten al 50% la ausencia de señal (0,75 V.) y la presencia (1,3 V. tensiones ambas tomadas en el pin 28 de la ULA). El período del uno lógico transmitido es, aproximadamente, el doble al del cero lógico, lo que determina que el uno opera a la mitad de la frecuencia que el cero. Estas frecuencias son: 1.024 Hz para el uno, y 2.055 Hz para el cero. Tras el tono de transmisión se incluye un impulso siempre de rápido período irregular (190,6 <html>&#181;</html>S para 0,75 V. y 210 <html>&#181;</html>S para 1,3 V.) Para más detalles y comprensión de lo dicho, utilice la figura número 1.

De este compendio de impulsos, resulta una frecuencia media de transmisión de aproximadamente 1.610 Hz.

La cabeza reproductora del cassette es móvil en una de sus fijaciones gracias a la acción de un tornillo y un muelle.

Por el terminal 28 de la ULA se comunica el Spectrum con el cassette, tanto para salvar como para cargar; pero la ULA opera digitalmente, por lo que precisa de una sencilla interface para enviar y recibir señales del cassette. Esta interface «Sinusoidaliza» las señales digitales que le entrega la ULA, para ser enviadas al cassette, al tiempo que adapta impedancias de entrada y salida entre el Spectrum y el cassette.

Por el mismo terminal 28, salen también las señales audibles que genera el programa, como disparos a OVNIS o notas musicales. Este terminal en su etapa de salida; es capaz de entregar tres tensiones eléctricas diferentes, según la función que esté cumpliendo en un determinado momento. Así, para el cero lógico entrega 0,75 V., para el uno de salida hacia el cassette entrega 1,3 V. y para activar el buzzer interno o minialtavoz, la ULA entrega 3,3 V. Este último nivel eléctrico está elevado respecto al de salida a cassette a fin de que en las operaciones de SAVE no suene el buzzer, pero sí en las de BEEP. Los dos diodos puestos en serie con el minialtavoz, hacen que sólo el nivel de tensión 3,3 sea capaz de activarle, ya que la señal ha de superar los 1,4 V. típicos de la tensión de umbral que suman estos dos diodos.

El diodo con respecto a masa que se halla a la derecha del buzzer, protege a la ULA de picos negativos que, en forma de transitorio, se podrían presentar desde el exterior y similar cometido cumple el condensador de 10 KpF.

El resto de la circuitería es la auténtica interface Spectrum-Cassette.

Por la toma de la parte posterior del Spectrum, denominada MIC, sale la señal hacia el cassette. Su denominación MIC se debe a que ha de ir conectada a la entrada de MICROFONO EXTERIOR del cassette. Por la otra toma posterior EAR, entra hacia el Spectrum la señal procedente del cassette. Su denominación EAR hace alusión a auricular y ha de ir unida a la salida de auricular del cassette.

Como consejo práctico, es buena norma acostumbrarse a usar para el mismo cometido los mismos colores de los jacks o clavijas proporcionados con el microordenador, aunque, en principio, los colores son indiferentes con respecto a EAR o a MIC. El intercambio de EAR por MIC, no daña ni al Spectrum ni al cassette, tan sólo no funcionará la transmisión.

Detalle del método de ajuste de la altura de la cabeza magnética del cassette.

Localización de la perforación para el ajuste de la cabeza en un audiocassette.

Es frecuente obtener errores en la transmisión debido, principalmente, a la altura de la cabeza de reproducción y grabación.

Todos los cassettes disponen en sus mecanismos de una regularización de la altura de la cabeza. Dicha regularización se obtiene mediante el retoque de un tornillo que se encuentra al efecto en uno de los laterales de fijación de la cabeza. Este tornillo, lleva en su parte inferior un muelle para facilitar el movimiento vertical de la cabeza.

Una cabeza mal ajustada no lee correctamente su pista respectiva, incluso puede llegar a solaparse con la pista contigua grabada en el sentido contrario. Si la cabeza no está correctamente alineada con la pista grabada, además de atenuaciones de señal, se producirá una inevitable degradación de los armónicos superiores de la señal o una introducción indeseada de espúreos procedentes de la zona de pista sin grabar. Todo esto da lugar, inevitablemente y con toda seguridad, a la degradación de la señal original y por ende, a un error a la interpretación de la misma por el microordenador.

La acción a tomar es siempre la misma, introducir un destornillador de punta fina por la perforación que suele existir en la caja de plástico del cassette prevista al efecto. Esta perforación coincide con el tornillo de ajuste de la cabeza cuando el cassette es puesto en PLAY o estado de reproducción.

Este tornillo suele venir sellado de origen; pero no debe importar su retoque, ya que va a ser inevitablemente cuando se desea reproducir cintas que nos han prestado.

En la práctica hemos podido comprobar, a veces hasta la angustia, que cada uno tenemos una altura típica de cabeza por lo que la imagen del destornillador junto al cassette del Spectrum, viene siendo típica. Si el cassette destinado al Spectrum no tiene perforación, es mejor proceder a hacerla con una minitaladradora y con cuidado de no dañar el mecanismo. El agujero se hará justo encima del tornillo de ajuste, y el cassette puesto en PLAY.

Como consejo final, recomendamos tener una cassette a guisa de patrón para restaurar la cabeza a nuestra posición particular una vez cargado el programa prestado. Con las cintas propias, si están grabadas todas a la misma altura, no suele haber problemas de carga.

  • 009/hardware.txt
  • Última modificación: d/m/Y H:i
  • por miguel