★ APPLICATIONS ★ DIVERS ★ SCROLL (AMSTRAD USER) ★ |
Scroll (Amstrad User) | Applications Divers |
En el Basic de Amstrad se echa en falta un comando de scroll, pero, con un poco de código máquina, es posible hacer scroll hacia la izquierda, derecha y diagonalmente, de la misma manera que los más corrientes hacia arriba y abajo. EL listado presente en código máquina es un paquete que rende tres tipos de rutinas. Han sido escritas teniendo en mente un programador de juegos. 1. Scroll, izquierda, derecha, arriba, abajo. Existe una rutina del firmware que hace scroll hacia arriba y abajo, pero siempre pone en blanco la nueva línea con una tinta. La rutina que aquí se presenta no hace eso. 2. Poner en blanco. Con la tinta actual del papel, pone en blanco el borde izquierdo, el borde derecho o las líneas de arriba y abajo. 3. Rellenar la zona. Estas zonas son de uno, dos o tres caracteres de altura y se imprimen en el borde izquierdo o derecho de la pantalla, con la tinta actual de la pluma. Se pueden modificar fácilmente todas las rutinas con sólo unos cuantos POKEs. La rutina de arriba, abajo, izquierda y derecha se ha puesto separada para facilidad de uso. Aunque con una sola rutina se podían haber ejecutado todos los movimientos, es posible que desees cambiar la dirección del scroll en un programa, lo que envuelve una serie de POKEs. COMO FUNCIONA La rutina de scroll primero llama a la rutina del firmware GET OFFSET (obtener desplazamiento), que se encuentra en la dirección &BC0B. Esta devuelve en el registro doble HL la dirección del primer byte de la memoria de pantalla. Ahora podemos incrementar o decremen-tar HL y, después llamamos a la rutina SCR SET OFFSET (situar desplazamiento), de la dirección &BC05. Teniendo en cuenta que hay 80 bytes por línea de pantalla en todos los modos, con un incremento de 80 Las rutinas están preparadas para el modo 1. Para usarlas en modo 0 ó 2, consulta la tabla 2 y haz los POKEs correspondientes antes de ejecutar estas rutinas. Para usarlas, primero debes teclear el cargador en Basic y ejecutar la rutina. Hay una sencilla comprobación de las DATAs, y una vez que veas aparecer el mensaje de DATAS OK, ya puedes grabar el cargador en cinta o disco, antes de ejecutar la rutina. Primero, prueba CALL 20000: la pantalla debería hacer scrolll un espacio hacia la izquierda. Para que te hagas una idea de la velocidad de estas rutinas, prueba lo siguiente: 10 CALL 20000 |
TABLA 1 | |
Cómo usar las rutinas | |
CALL 20000 | Scroll a la izquierda |
CALL 20012 | Scroll a la derecha |
CALL 20024 | Scroll hacia arriba |
CALL 20036 | Scroll hacia abajo |
CALL 20048 | Blanco a la izquierda |
CALL 20066 | Blanco a la derecha |
CALL 20084 | Blanco arriba |
CALL 20102 | Blanco abajo |
CALL 20120 | Zona 1 izquierda |
CALL 20138 | Zona 1 derecha |
CALL 20156 | Zona 2 derecha |
CALL 20174 | Zona 2 izquierda |
CALL 20192 | Zona 3 derecha |
CALL 20210 | Zona 3 izquierda |
POKE 20004 | Cantidad scroll izquierda |
POKE 20016 | Cantidad scroll derecha |
POKE 20028 | Cantidad scroll arriba |
POKE 20040 | Cantidad scroll abajo |
TABLA 2 | ||
POKE | Modo 0 | Modo 2 |
20073 | 19 | 79 |
20075 | 19 | 79 |
20093 | 19 | 79 |
20111 | 19 | 79 |
20145 | 19 | 79 |
20147 | 19 | 79 |
20163 | 19 | 79 |
20165 | 19 | 79 |
20199 | 19 | 79 |
20201 | 19 | 79 |
Amstrad User #8
|
|