Página 1 de 1

Proteger pantalla de carga

NotaPublicado: Vie Mar 17, 2017 12:56 pm
por radiosity
Hola amiguetes,

Estoy montando una aventura de prueba hecha con DAAD y quiero montarla en una cinta con una Screen$ de pantalla de carga. El caso es que una vez cargada la pantalla luego, en la carga de cada bloque, laos tipicos mensajes de 'Bytes: xxxxx' me 'pisan' la imagen. He probado algun cargador que he visto por ahi y no me terminan de funcionar.
¿Hay algun truco universal para impedir que se pise la imagen de carga?


Gracias.

Re: Proteger pantalla de carga

NotaPublicado: Vie Mar 17, 2017 1:15 pm
por zup
El más universal es cargar todo desde c/m.

Ahora bien, lo que hacían algunos cargadores BASIC era mangonear en el área de variables para que el Spectrum no imprimiera nada. Quédate con este: POKE 23739,111. Lo que hace es que la rutina de impresión del Spectrum apunte a un RET y no se imprima nada, pero tiene dos inconvenientes:

- Este POKE no sobrevive a un CLEAR (y no estoy seguro de que sobreviva a un CLS).
- Si el POKE está activado, cualquier programa que use la rutina de impresión de la ROM tendrá problemas.

En los cargadores de Erbe y Topo Soft se veía esta versión:

Código: Seleccionar todo
...
CLEAR xxx
...
LET L=PEEK 23631+256*PEEK 23632+5: LET K=PEEK L: POKE L,111
...
...
(todo lo que se hace aquí no se imprime en pantalla)
...
...
POKE L,K: RANDOMIZE USR yyy


Es el equivalente del POKE anterior. En condiciones normales L sería 23739.

Primero hacen el CLEAR para reservar memoria y borrar la pantalla. Después de los CLEAR y CLS que pueda haber, se hace el POKE para deshabilitar la impresión. Luego se carga todo y por último, se restaura el valor que tenía la dirección 23739 (K).