Página 2 de 7

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 07 Abr 2014, 19:02
por Sinclair
Efectivamente, en los "DATA" iría lo que sería el código fuente (código máquina) de la pequeña rutina en ensamblador.

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 07 Abr 2014, 20:21
por Bubu
Sí, elfoscuro, es prásticamente lo pispo que la rutina de MH que has ponido, lo que pasa es que esa rutina es enooooorme, y se tarda mucho en escribir. La que he ponido yo pos se escribe en 4 ó 5 leñazos al teclao :-D

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 07 Abr 2014, 20:44
por elfoscuro
Es enorme porque intentaron hacer algo como más universal, pero si te quedas con la primera página, te explican el asunto. Tu se lo has "mascao" ;-)

Un saludo.

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 07 Abr 2014, 21:04
por Sinclair
Cierto es, y lo de MH como es un artículo de revista se extiende más logicamente, porque además lo explica en dos rutinas, una para transferir el buffer de pantalla a una posición de memoria determinada y otra para recuperarla.

El programa que ha expuesto Bubu en Basic sería la recuperación de la pantalla tras la carga en una posición de memoria determinada.

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 09 Abr 2014, 08:45
por Fermars
Bueno pues muchas gracias a todos porque lo habéis explicado de lujo :D. Me voy a leer el artículo de MH y probaré la rutina de Bubu, es realmente sencilla! Supongo que siguiendo un procedimiento similar, podemos guardar varias pantallas en distintas direcciones de memoria (hasta llenarla) y después ir mostrando cada una de ellas de forma aleatoria a intervalos regulares de tiempo, algo así como un salvapantallas de gráficos de Spectrum. Mola! :)

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 09 Abr 2014, 11:30
por Bubu
¡ok! Y me gustaría ver esas pantallas que vas a cargar

Para guardar varias pantallas a la vez, efestívaménete es un proceso similar. Deberías tener el visualizador en la dirección 23900 p.ej., y las pantallas a partir de la dirección 24000 p.ej. Así las cosas, tendrías para 6 pantallas:

24000 + 6912 * 6 = 65472 (casi se alcanza el tope en 65535)

Cuando pruebes para 1 pantalla si quieres te modifico el pograma para que cargues 6 pantallas, es fácil ;-)

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 09 Abr 2014, 11:48
por Fermars
Bubu escribió:¡ok! Y me gustaría ver esas pantallas que vas a cargar

Para guardar varias pantallas a la vez, efestívaménete es un proceso similar. Deberías tener el visualizador en la dirección 23900 p.ej., y las pantallas a partir de la dirección 24000 p.ej. Así las cosas, tendrías para 6 pantallas:

24000 + 6912 * 6 = 65472 (casi se alcanza el tope en 65535)

Cuando pruebes para 1 pantalla si quieres te modifico el pograma para que cargues 6 pantallas, es fácil ;-)
Gracias. Voy a intentar probarlo hoy y os cuento. Las pantallas a cargar son gráficos de carga de juegos, hay algunas obras de arte.
Todo esto realmente viene porque hay veces que quiero hacer pruebas con las ZX Printer y necesito imprimir alguna pantalla y después ejecutar algún programa BASIC. Para volver a imprimir la pantalla necesito volver a cargarla y es un poco rollo. Teniendo la pantalla en otra dirección de memoria y poder llamarla en cualquier momento, es una gran ventaja, sobre todo en tiempo. Y si ya hay varias disponibles, pues mucho mejor porque puedo llamar al gráfico que quiera e imprimirlos de forma sucesiva.

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 09 Abr 2014, 16:25
por elfoscuro
Fermars escribió:Bueno pues muchas gracias a todos porque lo habéis explicado de lujo :D. Me voy a leer el artículo de MH y probaré la rutina de Bubu, es realmente sencilla! Supongo que siguiendo un procedimiento similar, podemos guardar varias pantallas en distintas direcciones de memoria (hasta llenarla) y después ir mostrando cada una de ellas de forma aleatoria a intervalos regulares de tiempo, algo así como un salvapantallas de gráficos de Spectrum. Mola! :)
MH nos vuelve a salvar en este caso ;-)

http://microhobby.speccy.cz/mhf/208/MH208_22.jpg
http://microhobby.speccy.cz/mhf/208/MH208_23.jpg

Aquí explican como comprimir las pantallas, porque si no, con 6 petas la RAM ;-)

Por cierto, por si no lo conoce-is, pongo un link bastante útil:

http://mhoogle.speccy.org/mhoogle.php

Es un buscador tipo google, pero busca en las Microhobby.

Un saludo.

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 09 Abr 2014, 22:15
por Fermars
Hola, os agradezco a todos las respuestas. Ya he leído las páginas de Microhobby que elfoscuro recomendó y me ha quedado todo bastante claro. La parte de la compresión de pantallas la dejaré para más adelante.

La rutina de Bubu va de miedo :D :D :D . Al principio me dejó un poco atontao porque cargaba la pantalla y tras finalizar se quedaba en negro. Ya os he comentado que soy nulo en programación y código máquina pero mirando el código me preguntaba si cargar la pantalla en la dirección 30000 y luego hacer una llamada a la 40000 no daría problemas ;-). Pues sí, cambiando el LOAD ""CODE a 40000 funciona perfectamente. Es una pasada, muestras la pantalla de un plumazo en un momento y cuando te de la gana.
En las páginas de MH habla de que incluso haciendo NEW la pantalla permanece, aunque en este caso a mi no me funciona, pero bueno, esto no es problema.

Ahora, ya que estamos en materia, quería probar lo de cargar (de momento) 6 pantallas de forma simultánea y luego mostrarlas a intervalos regulares de tiempo (que también se explica en MH). No obstante, si Bubu se anima y me pasa el código "mascao" je je je, estaría genial.
Creo que podría imaginarme como es, simplemente buscar una dirección digamos "base" y hacer la misma rutina 6 veces para cargar las 6 pantallas y luego llamar de forma sucesiva a las distintas direcciones con los RANDOMIZE correspondientes, aunque estoy seguro que no es necesario teclear el programita 6 veces, quizá se pueda reducir bastante reutilizando algunas líneas de código....

Por último y una vez conseguido lo anterior ¿podría guardarlo todo en un cartucho de Microdrive (programa y pantallas) para cargarlo todo de una vez en cualquier momento? supongo que si, quizá haciendo un volcado de todas las direcciones ocupadas junto al listado del programa, pero ahí me pierdo un poco.
No obstante, con dudas como estas se aprende mogollón :D

Saludos.

Re: Recuperar gráfico de pantalla tras la carga

Publicado: 09 Abr 2014, 22:38
por Bubu
Efestivaménete lo de LOAD "" CODE 40000 lo omití queriendo pa ver si tú te dabas cuén, AJAJAJJA

(qué va, se me olvidó, vaya, AJJAjaJAJAAJ, enhorabuena por descubrirlo, eso sisnifica que sabes de qué va todo esto :-) )