Si está activo 48 BASIC (desde el menú de presentación o como consecuencia de una orden
SPECTRUM) este bit está a O, y entonces no se produce el decremento de la variable ni
la conmutación de páginas. Sin embargo, si más tarde el programa de usuario pone a 1
el bit 4 de la variable FLAGS, ese proceso se pondrá en marcha, incluso con modo de inte
rrupción 1 aún seleccionado.
Las rutinas de exploración del teclado, que se encontraban en la ROM 3 en el Spectrum
128 y en el
+2,
han sido trasladadas al
+3.
Un error que había en la ROM de 48 BASIC original ha sido corregido en el
+3.
Cuando
ocurre una interrupción no enmascarable (NMI), se ejecuta un salto a la dirección 66h.
En ésta se comprueba el contenido de la variable de sistema NMIADD. Si es cero, se eje
cuta un RETN; de lo contrario, se salta a la dirección indicada por NMIADD. En la ROM
2 los códigos para NMI consisten en un simple RETN.
La ROM 3 no sólo proporciona el modo 48 BASIC por razones de compatibilidad con
modelos anteriores, sino que ejecuta la mayor parte de las órdenes de +3BASIC que no
utilizan el hardware más avanzado del
+3.
La última ROM (ROM 2) contiene +3DOS, que es el sistema operativo de disco. Esta
ROM es el objeto de la presente sección. A diferencia de las otras ROMs, que no tendrán
mucha utilidad para los programadores de lenguaje ensamblador (salvo quizá la de 48 BA
SIC), la ROM de +3DOS proporciona gran número de rutinas que pueden ser aprovecha
das en los programas de usuario. Es muy deseable que los programas que utilicen las uni
dades de disco se sirvan de estas rutinas, con las que se puede realizar todas las funciones
imaginables (de hecho, más que las que aprovecha la versión actual de BASIC). Por otra
parte, no se debe acceder a las rutinas más que a través del bloque de saltos. Al hacerlo
así, los programas serán más fácilmente intercambiables con los de los ordenadores AMS
TRAD CPC y, además, compatibles con los Spectrum futuros. Los puntos de entrada a
las diversas rutinas están en una tabla de saltos que empieza en la dirección OlOOh (256)
de la ROM. En la Sección 26 de este capítulo hemos dado un par de ejemplos que ilustran
la forma de invocar las rutinas de DOS.
+3DOS proporciona rutinas para realizar las siguientes funciones:
• Gestión de una o dos unidades de disquete y de un disco de RAM.
• Compatibilidad con ficheros de CP
1M
Plus y de CP
1M
2.2.
• Compatibilidad con ficheros y discos de los ordenadores AMSTRAD, series CPC
y
PCW.
• Posibilidad de tener abiertos hasta 16 ficheros a un tiempo.
• Lectura y escritura de ficheros hacia (o desde) cualquier página de la memoria.
• Acceso directo (aleatorio) a nivel de byte.
• Borrado de ficheros de disco; cambio de nombre de los ficheros; cambio de los atri
butos de los ficheros.
• Selección de la unidad y del número de usuario implícitos (por defecto).
Capítulo 8. Guía de programación en +3 BASIC
222