Requisitos de +3D05
En el momento de invocar cualquier rutina de +3DOS es necesario que la configuración
de la memoria sea la siguiente:
COOOh
FFFFh (49152... 65535) Página 7
8000h
BFFFh (32768.. .49151)
Página 2
4000h
7FFFh
(16384.
..
32767)
Página 5
OOOOh
3FFFh (O ... 16383)
ROM 2
La pila tiene que estar por debajo de BFEOh (49120)
y
por encima de 4000h (16384). El
limite superior es BFEOh (en lugar de COOOh) porque los 30 últimos bytes de la página 2
están dedicados a implementar las traslaciones de bloques entre páginas. Este área está
reservada para +3DOS; lo único que se requiere es que la pila no se encuentre en ella.
La pila debe disponer de 50 palabras como mínimo.
+3DOS puede mantener abiertos simultáneamente hasta 16 ficheros. Los ficheros de nú
mero O, 1 Y2 están reservados para +3 BASIC; por consiguiente, no se debe usar estos
números si existe la posibilidad de que se ejecute una orden de +3 BASIC estando abierto
uno de estos
ficheros.
El fichero Ose cierra siempre que +3 BASIC emite un mensaje (aun
cuando se trate de 'O OK')
.
Para ejecutar las rutinas que vamos a describir, es necesario que las interrupciones estén
habilitadas
(y
lo seguirán estando a la salida de la rutina).
Utilización de la memoria en +3D05
Las páginas 1,
3,4
Y6 de la RAM son tratadas como una sucesión de 128 tampones secto
riales (numerados del Oal 127), de 512 bytes cada uno. El disco de RAM
y
el caché ocupan
dos zonas (contiguas) de esta sucesión; su tamaño
y
posición son definidos en la
inicializa
ción, pero es posible redefinirlos más tarde. Los tampones no ocupados por el disco de
RAM
y
el caché están disponibles para cualquier otro propósito. Al modificar el tamaflo
o la posición del disco de RAM se borra todos sus ficheros.
Todas las rutinas de +3DOS retornan con la misma configuración de memoria que había
a la entrada.
Las direcciones de nombres de fichero, tampones
,
etc. entregadas a las rutinas tienen que
ser 'visibles'; o sea, la página de RAM en la que se encuentren tiene que estar encajada
en la memoria accesible.
El bloque de saltos de DOS está en la ROM 2, a partir de la dirección OlOOh (256). Las
direcciones
y
los interfaces de las rutinas son los detallados en los apartados siguientes.
Capítulo 8. Guía de programación en +3 BASIC
238