-
Notifications
You must be signed in to change notification settings - Fork 1
8.01. Almacenamiento de imágenes de pantalla
Contenido:
El gestor de bancos puede "desconectar" el bloque 1 de RAM y poner en su lugar uno cualquiera de los cuatro bloques de 16K de que consta el segundo banco. La figura siguiente muestra en qué consiste esta conmutación. Observe que los cuatro bloques del segundo banco están todos en el mismo grupo de direcciones, de &4000 a &7FFF. El contenido del bloque 1 (normalmente ocupado por instrucciones de BASIC) no se pierde, sino que es restaurado cuando el gestor de bancos termina su trabajo. Además de las cinco conmutaciones de bancos ilustradas en la figura, hay otras tres posibles, pero sólo se las utiliza en CP/M.
Conmutación de bancos por hardware El gestor de bancos dispone de dos órdenes externas con las que se pueden transferir pantallas completas de un bloque a otro; estas órdenes conmutan automáticamente los bloques 4 a 7 cuando es necesario y dejan restablecido el bloque 1.La orden
|SCREENSWAP,[<seccion de pantalla>,]<numero de pantalla>,<numero de pantalla>
intercambia el contenido de dos bloques, mientras que
|SCREENCOPY,[<seccion de pantalla>],<numero de pantalla destino>,<numero de pantalla fuente>
copia el contenido de un bloque en otro.
El parámetro opcional <sección de pantalla> hace que la transferencia de información se realice por tramos de 1/64 de pantalla (256 bytes del total de 16K). Así pues, el parámetro puede tener cualquier valor comprendido entre 0 y 63. Este método de operación es útil cuando se necesita mezclar alguna otra tarea con la de transferencia de pantallas. El tiempo de ejecución de un intercambio de pantallas es de aproximadamente 150/300 segundos (150 unidades de la variable TIME).
Los <números de pantalla> son números cualesquiera del margen de 1 a 5. (La pantalla 1 es la visible.) Las operaciones de copia e intercambio en las que interviene la pantalla 1 son mucho más rápidas que las otras. Tenga cuidado con el efecto de "desplazamiento vertical por hardware", que ya puede haber experimentado al trabajar con volcados de pantalla. Se debe procurar que todas las imágenes de pantalla se construyan (y visualicen) con la pantalla 1 en la misma posición de hardware. La posición más sencilla es la establecida por una orden MODE.
Cargue y ejecute el programa BANKMAN con la orden
RUN "BANKMAN"
Escriba
MODE 1
con lo que se borra la pantalla. Ahora escriba
' Esta es la pantalla original
|SCREENCOPY,3,1 'Pantalla original va a la memoria 3
CLS
La pantalla se ha vuelto a borrar. Escriba ahora
' Esta es la pantalla intermedia
|SCREENCOPY,2,1 'Pantalla intermedia va a memoria 2
|SCREENSWAP,2,3 'Intercambia memorias 2 y 3
|SCREENCOPY,1,3 'Recupera pantalla intermedia desde memoria 3
|SCREENSWAP,2,3 'Recupera pantalla original desde memoria 2
Al final del capítulo 9 damos un completo programa diseñador de pantallas que utiliza las funciones de transferencia de pantallas proporcionadas por el gestor de bancos.
◀ Capítulo 8. Más sobre el gestor de bancos de memoria / Índice / Capítulo 8. Parte 2. Ficheros en RAM ▶
- Parte 1: Instalación y mantenimiento.
- Parte 2: Conexión de los periféricos.
- Parte 3: En cuanto a los discos.
- Parte 4: Manos al teclado.
- Parte 5: Carga de programas.
- Parte 6: Empecemos a trabajar.
- Parte 7: Grábelo en disco.
- Parte 8: Introducción a los modos de pantalla, colores y gráficos.
- Parte 9: Sonidos.
- Parte 10: Introducción a los sistemas operativos AMSDOS y CPM.
- Parte 11: Introducción al gestor de bancos de memoria.
- Parte 1: Posiciones del cursor y códigos ampliados de control en BASIC.
- Parte 2: El sistema operativo.
- Parte 3: Interrupciones.
- Parte 4: Caracteres ASCII y caracteres gráficos en BASIC.
- Parte 5: Esquemas de teclado.
- Parte 6: Sonidos.
- Parte 7: Mensajes de error de BASIC.
- Parte 8: Palabras reservadas de BASIC.
- Parte 9: Plantillas.
- Parte 10: Conexiones.
- Parte 11: Impresoras.
- Parte 12: Joysticks.
- Parte 13: Organización de los discos.
- Parte 14: Ampliaciones del sistema residentes RSX.
- Parte 15: Memoria.
- Parte 16: Emulador de consola CP/M Plus.
- Parte 17: Juego de caracteres de CP-M Plus.
- Apéndice 1. Digital Research y AMSTRAD.
- Apéndice 2. Léxico inglés-castellano y glosario.
- Apéndice 3. Que usted lo disfrute:
- Apéndice 4. Índice.