Página 7 de 7

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 16 Feb 2023, 20:15
por Mikes
Piccolojunior escribió: 16 Feb 2023, 18:01 Buenas tardes, han pasado unos cuantos años del tema en cuestión pero nunca es tarde para aprender, al lío.
Resulta que estoy haciendo un juego en basic para Spectrum (espinita clavada de mi juventud) y para ahorrar unos UGD de la pantalla del juego que son fijos quería ubicar la pantalla en el último bloque de memoria disponible (65535 - 6912), parece que lo consigo, pero debo fallar con los poke, porque cuando llamo a la pantalla con randomize usr se me machaca de la parte de abajo.
El juego por ahora ocupa 31k y todavía no está acabado, por eso quiero ubicar la pantalla en el último bloque de memoria disponible, hay alguien que me pueda ayudar. HELP!
A ver si alguien te puede ayudar.. no olvides pasarte por el foro de presentaciones y contarnos un poco quién eres.. gracias!

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 18 Feb 2023, 12:07
por elfoscuro
Piccolojunior escribió: 16 Feb 2023, 18:01 Buenas tardes, han pasado unos cuantos años del tema en cuestión pero nunca es tarde para aprender, al lío.
Resulta que estoy haciendo un juego en basic para Spectrum (espinita clavada de mi juventud) y para ahorrar unos UGD de la pantalla del juego que son fijos quería ubicar la pantalla en el último bloque de memoria disponible (65535 - 6912), parece que lo consigo, pero debo fallar con los poke, porque cuando llamo a la pantalla con randomize usr se me machaca de la parte de abajo.
El juego por ahora ocupa 31k y todavía no está acabado, por eso quiero ubicar la pantalla en el último bloque de memoria disponible, hay alguien que me pueda ayudar. HELP!
Siempre, cuando vayas a meter datos en memoria, hay que usar la orden CLEAR. Si pones CLEAR 65535-6912, por ejemplo, "bloqueará" todo ese espacio de forma que no puedas entrar ahí con el BASIC. Pero, además, también hace más cosas, como mover la buffer más abajo. La ROM del ordenador es un programa, como cualquier otro y necesita usar datos de RAM. Por un lado, justo detrás de la memoria de video, están las variables del sistema, que son valores de "configuración" para la ROM, y por otro, está la "pila de programa", justo antes del punto marcado por el CLEAR (o justo antes de los UDG si no pones nada en tu programa).

No entiendo que quieres decir con "se me machaca de la parte de abajo", una foto iría bien. Si se "corrompe", es por eso, porque estás metiendo cosas sin bloquear (lo raro es que no se bloquee el spectrum). Te iría bien mirarte el mapa de memoria del spectrum en el manual antes de ponerte a grabar cosas por ahí. Como te digo no todo está disponible, y hay que ir con un poco de cuidado.

Por otro lado, con el tema de los UDG "que son fijos"... mi consejo, es que o bien guardes sólo la parte que te interese y no toda la pantalla completa (es un disparate guardar casi 7k de RAM para una pantalla de marcadores, por ejemplo, a no ser que sea muy barroca), o la mejor opción de todas: usa el juego de caracteres como UDG. Así, tendrías un buen montón de UDG y no los 19/21 que hay habitualmente.

Puedes tener más de un juego de caracteres, y poner todo en una especie de "sprites low cost", incluido marcadores, etc.

Como siempre, mejor que mi explicación, que no te habrá ayudado mucho, te remito a nuestra querida MicroHobby:

Imagen

Imagen

Imagen

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 18 Feb 2023, 12:31
por Popopo
elfoscuro escribió: 18 Feb 2023, 12:07 Como siempre, mejor que mi explicación, que no te habrá ayudado mucho, te remito a nuestra querida MicroHobby:
Ops, gran aporte.
¿Me puedes decir en qué MH está publicado?
Gracias

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 18 Feb 2023, 13:40
por elfoscuro
Popopo escribió: 18 Feb 2023, 12:31
elfoscuro escribió: 18 Feb 2023, 12:07 Como siempre, mejor que mi explicación, que no te habrá ayudado mucho, te remito a nuestra querida MicroHobby:
Ops, gran aporte.
¿Me puedes decir en qué MH está publicado?
Gracias
En la 42, pero el tema de cambiar el juego de caracteres era un recurrente en Micro Hobby. Juegos de letras diferentes (en muchos programas para 128k lo usaban, copiando el juego de Amstrad CPC y cosas así). Y como la pantalla del Spectrum es como es, puedes imprimir varios juegos a la vez, haciendo un par de POKE antes, por ejemplo, las instrucciones con el juego de la ROM, luego cambias, dibujas los marcadores con el juego nuevo diseñado por ti, vuelves a poner el de la ROM y pones los textos "VIDAS", "ENERGIA"... y no se cambia lo que haya como si pasaba en los PC, por ejemplo.

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 18 Feb 2023, 13:48
por Popopo
elfoscuro escribió: 18 Feb 2023, 13:40 En la 42, pero el tema de cambiar el juego de caracteres era un recurrente en Micro Hobby. Juegos de letras diferentes (en muchos programas para 128k lo usaban, copiando el juego de Amstrad CPC y cosas así). Y como la pantalla del Spectrum es como es, puedes imprimir varios juegos a la vez, haciendo un par de POKE antes, por ejemplo, las instrucciones con el juego de la ROM, luego cambias, dibujas los marcadores con el juego nuevo diseñado por ti, vuelves a poner el de la ROM y pones los textos "VIDAS", "ENERGIA"... y no se cambia lo que haya como si pasaba en los PC, por ejemplo.
Gracias por la explicación,
Desde luego es un mundo la programación en un Spectrum. Un verdadero reto. :)