Recuperar gráfico de pantalla tras la carga
Moderador: Fundadores
- Sinclair
- Hermano de Lucifer
- Mensajes: 3101
- Registrado: 04 Jul 2013, 23:42
Re: Recuperar gráfico de pantalla tras la carga
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.
- Bubu
- Demonio segundo orden
- Mensajes: 1125
- Registrado: 02 May 2013, 20:35
Re: Recuperar gráfico de pantalla tras la carga
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
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!
- elfoscuro
- Demonio segundo orden
- Mensajes: 1835
- Registrado: 01 Abr 2013, 22:00
- Been thanked: 26 times
Re: Recuperar gráfico de pantalla tras la carga
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.
Un saludo.
Fin de impresión
- Sinclair
- Hermano de Lucifer
- Mensajes: 3101
- Registrado: 04 Jul 2013, 23:42
Re: Recuperar gráfico de pantalla tras la carga
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.
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.
- Fermars
- Demonio segundo orden
- Mensajes: 1195
- Registrado: 20 Feb 2014, 16:58
- Ubicación: El Escorial
- Been thanked: 3 times
Re: Recuperar gráfico de pantalla tras la carga
Bueno pues muchas gracias a todos porque lo habéis explicado de lujo . 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!
Fernando
- Bubu
- Demonio segundo orden
- Mensajes: 1125
- Registrado: 02 May 2013, 20:35
Re: Recuperar gráfico de pantalla tras la carga
¡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
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
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!
- Fermars
- Demonio segundo orden
- Mensajes: 1195
- Registrado: 20 Feb 2014, 16:58
- Ubicación: El Escorial
- Been thanked: 3 times
Re: Recuperar gráfico de pantalla tras la carga
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.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
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.
Fernando
- elfoscuro
- Demonio segundo orden
- Mensajes: 1835
- Registrado: 01 Abr 2013, 22:00
- Been thanked: 26 times
Re: Recuperar gráfico de pantalla tras la carga
MH nos vuelve a salvar en este casoFermars escribió:Bueno pues muchas gracias a todos porque lo habéis explicado de lujo . 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!
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.
Fin de impresión
- Fermars
- Demonio segundo orden
- Mensajes: 1195
- Registrado: 20 Feb 2014, 16:58
- Ubicación: El Escorial
- Been thanked: 3 times
Re: Recuperar gráfico de pantalla tras la carga
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 . 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
Saludos.
La rutina de Bubu va de miedo . 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
Saludos.
Fernando
- Bubu
- Demonio segundo orden
- Mensajes: 1125
- Registrado: 02 May 2013, 20:35
Re: Recuperar gráfico de pantalla tras la carga
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 )
(qué va, se me olvidó, vaya, AJJAjaJAJAAJ, enhorabuena por descubrirlo, eso sisnifica que sabes de qué va todo esto )
Si algo funciona... no lo toques. ¡¡Pero ni de coña!!