Descargar Imprimir esta página

AMSTRAD sinclair ZX Spectrum +3 Manual Del Usario página 200

Publicidad

no se puede determinar el estado actual de la paginación mediante una función
IN.
Ésta
es la razón por la que la variable de sistema BANKM está siempre actualizada con el últi­
mo valor enviado a esta puerta.
La puerta BFFDh (49149) controla los registros de datos del circuito de sonido
.
La puerta
FFFDh (65533) en modo de salida escribe una dirección de registro, yen modo de entrada
lee un registro. El uso cuidadoso de estos dos registros puede permitir la generación de
sonidos mientras BASIC realiza otra tarea; pero hay que tener en cuenta que también con­
trolan los interfaces RS232/MIDI y AUX.
La puerta OFFDh (4093) está relacionada con el interfaz paralelo Centronics (zócalo IM­
PRESORA). Al leerla con
IN,
el bit O muestra el estado de la señal BUSY enviada por
la impresora. Si ésta se encuentra 'fuera de línea' (o desconectada), ese bit vale l
.
Al es­
cribir con
OUT,
esta puerta actúa como registro de salida de datos. Para imprimir un ca­
rácter es necesario esperar hasta que BUSY sea O, escribir el código del carácter en la puer­
ta OFFDh (4093) y, finalmente, poner el bit de STROBE en la puerta lFFDh (8189) a nivel
bajo y luego otra vez a nivel alto.
La puerta lFFDh (8189) controla diversos aspectos del +3. Entre otras cosas, decide qué
ROM es proyectada hacia el área OOOOh ... 3FFFh (O
.
.
. 16383) de la memoria. Puesto que
la puerta es de sólo lectura, +3 BASIC mantiene una variable, BANK678, cuyo contenido
es el último valor enviado a esta puerta. Por consiguiente, no se debe escribir valores di­
rectamente en esta puerta sin antes comprobar su estado para modificar solamente los bits
que interesen. [Lo mismo se puede decir de la puerta 7FFDh (cuyo estado actual se man­
tiene en BANKM).] Los tres bits menos significativos (O ... 2) de la puerta lFFDh sirven
para conmutar la RAM y la ROM (véase el apartado 'Gestión de la memoria' en la Sección
24).
El bit 3 controla el motor de la unidad de disco (a O, motor parado; al, motor en
marcha)
;
no hay ninguna necesidad de escribir en esta puerta para controlar el motor
,
ya
que
el
sistema operativo +3DOS ofrece rutinas con las que se consigue el mismo efecto.
El bit 4 es la señal STROBE de la puerta paralelo, que está activa a nivel bajo; esto quiere
decir que, para imprimir el carácter que ha sido enviado a la puerta OFFDh, primero hay
que poner el bit de STROBE a nivel bajo y después volver a ponerlo en su estado normal,
que es alto.
La puerta 2FFDh (12285) lee el registro de estado principal del circuito controlador del
disco (¡tPD765A). No será útil más que para quienes conozcan a fondo el funcionamiento
de este circuito.
La puerta 3FFDh (16381) es el registro de datos del controlador del disco. Se puede leer
y escribir en ella, pero no parece probable que tenga ninguna utilidad para los programa­
dores de BASIC. Si se escribe en esta puerta sin saber para qué, es posible que el controla­
dor del disco se confunda, hasta
el
punto de que las siguientes operaciones de acceso al
disco dejen de ser fiables. Además, es muy probable que los experimentos con esta puerta
conduzcan a la destrucción de los datos grabados en el
disco.
Capítulo
8.
Guía de programación en +3 BASIC
190

Publicidad

loading