Modo Radastaniano - Videos test Z88DK
- Hark0
- Mensajes: 683
- Registrado: 27 Sep 2015, 00:31
- Ubicación: Cornellà de Llobregat - BCN
- Contactar:
Modo Radastaniano - Videos test Z88DK
Adjunto enlaces a videos de Youtube con algunas cosas que estoy probando actualmente:
Muestra de como estoy compilando en MacOS, usando Z88DK, tras modificar el "BAT" de @Radastan... pasándolo a script SH:
https://www.youtube.com/watch?v=yd9z7ggL7Tg
-----------------------------------
Muestra de movimiento scroll, sin usar turbo ni nada de nada, pintando con las rutinas por defecto Z88DK del Kit:
https://www.youtube.com/watch?v=dX1ekL0bOJI
-----------------------------------
Muestra de movimiento de personaje:
https://www.youtube.com/watch?v=bWjg0n7pRSs
-----------------------------------
Muestra de creación de un "doble buffer", con las rutinas de pintado apuntando directamente a la posición de memoria 0x6000. Luego hacemos un "flip"... y lo podemos volcar a la pantalla principal. Aún no he terminado de pulirlo ni mucho menos, actualmente, como se ve en el vídeo, tengo dos pantallas simultáneas que intercambio con un OUT 255,0 (o 1).
Para todo esto he tenido que modificar el "loaderzx.bas", y todas las rutinas de pintado para que apunten a la dirección 0x6000 en lugar de la 0x4000.
La idea es usar el buffer "oculto" para ir pintando.... y con un "flip" pasarlo a la pantalla principal (la que se ve). Evidentemente necesito el doble de memoria para esto, pero el siguiente paso es usar las funciones de @yombo para alojar/leer datos/graficos, etc desde la tarjeta SD. De esta forma, lo que "pierdo" en bytes con el doble buffer, lo "recupero" pudiendo tener los datos del programa en la SD.
https://www.youtube.com/watch?v=L322tYnXdiU
Muestra de como estoy compilando en MacOS, usando Z88DK, tras modificar el "BAT" de @Radastan... pasándolo a script SH:
https://www.youtube.com/watch?v=yd9z7ggL7Tg
-----------------------------------
Muestra de movimiento scroll, sin usar turbo ni nada de nada, pintando con las rutinas por defecto Z88DK del Kit:
https://www.youtube.com/watch?v=dX1ekL0bOJI
-----------------------------------
Muestra de movimiento de personaje:
https://www.youtube.com/watch?v=bWjg0n7pRSs
-----------------------------------
Muestra de creación de un "doble buffer", con las rutinas de pintado apuntando directamente a la posición de memoria 0x6000. Luego hacemos un "flip"... y lo podemos volcar a la pantalla principal. Aún no he terminado de pulirlo ni mucho menos, actualmente, como se ve en el vídeo, tengo dos pantallas simultáneas que intercambio con un OUT 255,0 (o 1).
Para todo esto he tenido que modificar el "loaderzx.bas", y todas las rutinas de pintado para que apunten a la dirección 0x6000 en lugar de la 0x4000.
La idea es usar el buffer "oculto" para ir pintando.... y con un "flip" pasarlo a la pantalla principal (la que se ve). Evidentemente necesito el doble de memoria para esto, pero el siguiente paso es usar las funciones de @yombo para alojar/leer datos/graficos, etc desde la tarjeta SD. De esta forma, lo que "pierdo" en bytes con el doble buffer, lo "recupero" pudiendo tener los datos del programa en la SD.
https://www.youtube.com/watch?v=L322tYnXdiU
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.
Re: Modo Radastaniano - Videos test Z88DK
Muy chulo, aunque permiteme una sugerencia, por cuestiones de rendimiento al trabajar: edita el fichero .zesaruxrc que estará en la carpeta /Users/Hark0 y pon esto:
--machine zxuno
--noautoload
--enableulaplus
--forcevisiblehotkeys
--nosplash
--nowelcomemessage
--enable-mmc
--enable-divmmc
--mmc-file <pon aqui el path completo al fichero divmmcesx086.mmc en la carpeta de Zesarux>
--quickexit
--smartloadpath <pon aqui el path a la carpeta donde quieras que se abra el smartload>
Te ahorrarás mucho tiempo en cada prueba sin tener que habilitar ULAPlus, y sin tener que buscar el tap por todo el disco (en OSX es especialmente coñazo)
El resto de opciones son por comodidad.
Otra opción es poner la llamada a ZesarUX en el .sh al final con esos valores como parámetros.
Yo por ejemplo cuando trasteo con ZXUC lanzo zesarux con la CPU al 800% de velocidad, y así tarda menos en cargar ESXDOS y demás.
--machine zxuno
--noautoload
--enableulaplus
--forcevisiblehotkeys
--nosplash
--nowelcomemessage
--enable-mmc
--enable-divmmc
--mmc-file <pon aqui el path completo al fichero divmmcesx086.mmc en la carpeta de Zesarux>
--quickexit
--smartloadpath <pon aqui el path a la carpeta donde quieras que se abra el smartload>
Te ahorrarás mucho tiempo en cada prueba sin tener que habilitar ULAPlus, y sin tener que buscar el tap por todo el disco (en OSX es especialmente coñazo)
El resto de opciones son por comodidad.
Otra opción es poner la llamada a ZesarUX en el .sh al final con esos valores como parámetros.
Yo por ejemplo cuando trasteo con ZXUC lanzo zesarux con la CPU al 800% de velocidad, y así tarda menos en cargar ESXDOS y demás.
- Hark0
- Mensajes: 683
- Registrado: 27 Sep 2015, 00:31
- Ubicación: Cornellà de Llobregat - BCN
- Contactar:
Re: Modo Radastaniano - Videos test Z88DK
Si pego aquí la ristra con la qye lanzo ZEsarUX me cargo el foro XD
Gracias por la info pero ya lo hago asi
Gracias por la info pero ya lo hago asi
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.
Re: Modo Radastaniano - Videos test Z88DK
Jaja, pues nada, queda para los que vengan despuésHark0 escribió:Si pego aquí la ristra con la qye lanzo ZEsarUX me cargo el foro XD
Gracias por la info pero ya lo hago asi
Re: Modo Radastaniano - Videos test Z88DK
Te comento que ya he conseguido listar ficheros de la sd, obteniendo nombre, tamaño y un byte de atributos (aunque esto no te sirve para lo que quieres hacer). Estoy terminando el resto de funciones, y queda poco para que libere las librerías
- Hark0
- Mensajes: 683
- Registrado: 27 Sep 2015, 00:31
- Ubicación: Cornellà de Llobregat - BCN
- Contactar:
Re: Modo Radastaniano - Videos test Z88DK
yombo escribió:Te comento que ya he conseguido listar ficheros de la sd, obteniendo nombre, tamaño y un byte de atributos (aunque esto no te sirve para lo que quieres hacer). Estoy terminando el resto de funciones, y queda poco para que libere las librerías
Oleeeee!!!!
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.
Re: Modo Radastaniano - Videos test Z88DK
Poco a poco se van haciendo cositas!
Supongo que sabes cómo va el tema del doble buffer pero por si acaso te digo lo que hago yo, aunque es bastante de cajón:
- muestro pantalla 0 (4000h)
- borro, modifico, pongo gráficos en la pantalla 1 (6000h)
- muestro pantalla 1
- borro, modifico, pongo gráficos en la pantalla 1 (4000h)
- vuelta a empezar...
La clave es trabajar con la pantalla que no se vé, eso implica que las rutinas de dibujado tienen que saber el rango de memoria donde tienen que pintar cada vez.
Yo lo que hago es que según la variable donde tengo almacenada qué pantalla está visible, modifico el código de las rutinas al vuelo. Simplemente es sumar o restar 8912 a la dirección de impresión. Con AND y OR es superfácil.
Supongo que sabes cómo va el tema del doble buffer pero por si acaso te digo lo que hago yo, aunque es bastante de cajón:
- muestro pantalla 0 (4000h)
- borro, modifico, pongo gráficos en la pantalla 1 (6000h)
- muestro pantalla 1
- borro, modifico, pongo gráficos en la pantalla 1 (4000h)
- vuelta a empezar...
La clave es trabajar con la pantalla que no se vé, eso implica que las rutinas de dibujado tienen que saber el rango de memoria donde tienen que pintar cada vez.
Yo lo que hago es que según la variable donde tengo almacenada qué pantalla está visible, modifico el código de las rutinas al vuelo. Simplemente es sumar o restar 8912 a la dirección de impresión. Con AND y OR es superfácil.
- Hark0
- Mensajes: 683
- Registrado: 27 Sep 2015, 00:31
- Ubicación: Cornellà de Llobregat - BCN
- Contactar:
Re: Modo Radastaniano - Videos test Z88DK
Asi mismo tenia pensado... aunque de momento tengo las rutinas por partida doble... unas directamente a la 0x4000 y otras a la 0x6000.... quería probar que todo funcionara para optimizar después.
De hecho... si lo de @yombo acaba siendo como pienso... se podrían hacer cosas chulas, incluso con otro buffer más...
De hecho... si lo de @yombo acaba siendo como pienso... se podrían hacer cosas chulas, incluso con otro buffer más...
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.
Re: Modo Radastaniano - Videos test Z88DK
Una pregunta, ya que hablamos de las paginas de vram...
Puedo usar el bloque de memoria en 6000h, en un programa que no use el modo radas? Es decir, esta libre esa memoria?
Puedo usar el bloque de memoria en 6000h, en un programa que no use el modo radas? Es decir, esta libre esa memoria?
Re: Modo Radastaniano - Videos test Z88DK
Sí claro, es independiente del modo radastaniano. Recordad que es un modo de funcionamiento del Timex que funciona practicamente igual que la pantalla shadow "estándar" del spectrum +2/3, sólo que cambia la zona de memoria.