Recuperar gráfico de pantalla tras la carga

Moderador: Fundadores

Responder
Avatar de Usuario
Mikes España - Com. Valenciana
Moderador
Moderador
Mensajes: 3397
Registrado: 08 Nov 2013, 14:15
Ubicación: Benaguasil (València)
Has thanked: 2 times
Been thanked: 143 times

Re: Recuperar gráfico de pantalla tras la carga

Mensaje 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!
"Mikes solo hay uno"
Mi 'Paraeta'
Avatar de Usuario
elfoscuro
Demonio segundo orden
Demonio segundo orden
Mensajes: 1831
Registrado: 01 Abr 2013, 22:00
Been thanked: 26 times

Re: Recuperar gráfico de pantalla tras la carga

Mensaje 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
Fin de impresión
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Recuperar gráfico de pantalla tras la carga

Mensaje 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
Avatar de Usuario
elfoscuro
Demonio segundo orden
Demonio segundo orden
Mensajes: 1831
Registrado: 01 Abr 2013, 22:00
Been thanked: 26 times

Re: Recuperar gráfico de pantalla tras la carga

Mensaje 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.
Fin de impresión
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Recuperar gráfico de pantalla tras la carga

Mensaje 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. :)
Responder

Volver a “Sinclair”