Para el que no lo sepa el spectrum en baja resolución (osea en modo carácter) es como si fuera una plantilla de 22 filas x 31 columnas empezando ambas por la 0; osea, si hiciera un:
PRINT AT 0,0;"A"
pintaría una A en la esquina superior izquierda de la pantalla (Y,X) donde la primera Y serían las filas de forma que cuando el número crece iríamos bajando hasta llegar a la última que sería la 21 y las X serían las columnas y conforme crecen nos vamos yendo hacia la derecha hasta el tope que sería 31.
Por lo tanto la última fila donde podríamos pintar (la más baja, esa Y de la que hablaba) sería la 21; no obstante el spectrum reserva un par de líneas más bajas para cuando el ordenador necesita mostrarnos alguna información especial como el mensaje de scroll por ejemplo al llenarse la pantalla...
El caso es que por ejemplo si ejecutamos:
PRINT #0;"HOLA"
Este HOLA nos lo pinta por debajo de la fila 22 (Y=21) pero no tendríamos control de la columna donde pintar como tenemos con el modificador AT
Pues bien, mirad este pequeño código...
10 POKE 23659,0
20 PRINT AT 22,0;"X"'"Y"
30 PAUSE 0
40 POKE 23659,2
Como se aprecia pintamos con el AT más abajo y eso es porque el POKE 23659 es el que controla el límite de donde pintar... El valor inicial es 2 y lo recomendable es pokear a 0, pintar lo que necesitamos y luego volver a dejar el valor inicial de 2 para no tener problemas ya que si hubiera algún scroll el equipo se puede bloquear (osea, el programita que estemos programando crashearía).
He leído por ahí, que con el POKE 23692,0 se oculta el scroll teniendo luego que volverlo al valor inicial de 1 pero en mi caso para lo que necesitaba usé el anterior y me funcionó bien.
Saludo