Pruebas en Dragon

Avatar de Usuario
pser1
Mensajes: 2213
Registrado: 08 Dic 2012 18:34
Agradecido : 296 veces
Agradecimiento recibido: 310 veces

Re: Tests en Dragon

Mensajepor pser1 » 13 Oct 2014 00:32

Último mensaje de la página anterior:

Hola amigos,

me han gustado tanto los resultados en XRoar (a pesar del parpadeo) que decido subiros estas seis imágenes -drinks
He acabado haciendo un solo disco VDK con este contenido:
- MEZCS12.BIN - es el programa en ensamblador que conmuta entre pantallas y paleta de colores
- TSTPC.BAS - es el primer program en Basic. Nos pide cargar (en XRoar, no Dragón) las imágenes obtenidas con la utilidad de José Luis (con cabecera std de dragón)
. . . . . primero la imagen 2 y finalmente la imagen 1. Nos pedirá un nombre para el conjunto y grabará un fichero suma de las dos imágenes cargadas
- TSTDRGN - este es el segundo programa que solo pide el nombre del fichero combinado y nos muestra cada una de las imágenes y luego las mezcla.
- ORIGX2.BIN
- VARCOL.BIN
- VARCOLOK.BIN
- VCOLPM3.BIN
- VARBN.BIN
- PAL16.BIN - son 5 imágenes de portadas de The Hobbit subidas por José Luis y la paleta de colores empleada

Recordad que para salir de la rutina de conmutación de pantallas hay que pulsar BREAK!!

Esperamos vuestros comentarios ...

@jose luis
la paleta, como podrás ver en el fichero PAL16.BIN tiene manchas (unos puntos muy notables en la mezcla) que en la paleta pasan desapercibidos.
No creo que la imagen original de Dragón los contuviera ....
Habrá que rehacer el proceso de creación y fotografiarlo de nuevo -banghead

saludos
pere
Adjuntos
25e3 - Experimentos colores.zip
Imágenes 16 colores PMODE3x2
(29.21 KiB) Descargado 96 veces

Avatar de Usuario
ron
Mensajes: 17867
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 857 veces
Agradecimiento recibido: 912 veces

Re: Tests en Dragon

Mensajepor ron » 13 Oct 2014 20:09

El parpadeo del Dragon no es tan excesivo como el del Xroar, y estoy convencido que si lo pruebo en un CRT cantará más.

Avatar de Usuario
pser1
Mensajes: 2213
Registrado: 08 Dic 2012 18:34
Agradecido : 296 veces
Agradecimiento recibido: 310 veces

Re: Tests en Dragon

Mensajepor pser1 » 13 Oct 2014 20:20

Hola ron,

bien!
El sistema se basa en mezclar dos imágenes con colores diferentes para conseguir una paleta con 16 tonos mezcla.
Cuando pulsas C por primera vez aparece la imagen formada por los colores de la paleta1 del PMODE3:SCREEN1,0 (rojo, azul, verde y amarillo)
Al pulsar de nuevo, aparece la imagen de la paleta2 del PMODE3:SCREEN1,1 (blanco, magenta, cyan y naranja)
A la tercera vez, arranca la rutina que va cambiando de página (imágen) y de paleta (una vez por cada cuadro)

El problema que ves en esta mezcla, no es parpadeo, esto lo verás probando en el XRoar, allí si se ve parpadeo real en cantidad.
Por desgracia, lo que vemos en este caso es el problema que tiene la salida de vídeo y mas aún la de TV de Dragón.
La transición de un color a otro es aceptable en general, pero algunas combinaciones de colores uno al lado del otro provocan la apariencia
de que se mueven los pixels a pesar de que NO se mueve nada de sitio ... la frontera entre ambos se mezcla y puede parecer que se mueva.

Os adjunto en este mismo texto un programa Basic sencillito, que en XRoar queda de maravillas, pero que al cargarlo en Dragón da el mismo efecto que habrás visto tu
en estas imágenes, es parecido al efecto moiré en algunas TVs. Hay gente que está diseñando una placa para usar las salidas directas del chip de video
y enviar la señal directamente a la entrada del monitor / TV
En cualquier caso ya me dirás como ves la salida de este programa en tu hardware real.

Código: Seleccionar todo

100 CLS:POKE&HFFD7,0
110 FOR I=0 TO 319
120 PRINT CHR$(143+16*RND(7));
130 NEXT



saludos
pere

Avatar de Usuario
pser1
Mensajes: 2213
Registrado: 08 Dic 2012 18:34
Agradecido : 296 veces
Agradecimiento recibido: 310 veces

Re: Tests en Dragon

Mensajepor pser1 » 13 Oct 2014 22:08

Si alguien quiere hacer mas pruebas en un Dragón real mezclando áreas de color mas pequeñas, os detallo un pequeño programa Basic que
pasa a modo Semigráfico24 y va pokeando celda por celda hasta llenar toda la pantalla.
La mayoría de transiciones son correctas, pero algunas combinaciones de colores (en vertical por supuesto) producen una llamémosle vibración en su zona
que puede interpretarse como parpadeo ... pero no lo es. La imagen es absolutamente estática.
El problema de la mezcla de 4x4 = 16 colores mezclados es que hay muchas mas transiciones y a veces cada dos pixels, lo cual hace que el conjunto hierva un poco mas, si cabe!

saludos
pere

EDIT: Como muchos ya habréis notado, el programa era el listado de dos (el anterior y el nuevo. He borrado el anterior de esta parte de código)

Código: Seleccionar todo

100 POKE&HFFC6,0:POKE&HFFC9,0
110 POKE&HFFCB,0:POKE&HFFCC,0
120 POKE&HFFCE,0:POKE&HFFD0,0
130 POKE&HFFD2,0
140 POKE&HFFC0,0:POKE&HFFC3,0
150 POKE&HFFC5,0
160 POKE&HFFD7,0
170 FORI=&HC00 TO&H23FF
180 POKE I,143+RND(7)*16:NEXTI
190 IF INKEY$<>"Q"THEN190

Avatar de Usuario
pser1
Mensajes: 2213
Registrado: 08 Dic 2012 18:34
Agradecido : 296 veces
Agradecimiento recibido: 310 veces

Re: Pruebas en Dragon

Mensajepor pser1 » 17 Feb 2015 15:27

Buenas tardes,

hice unas pruebas para comprimir las imágenes del juego, pero con los algoritmos triviales no se gana casi nada ya que las imágenes de por si ya son pequeñas (4041 bytes)
Al final decidí probar el compresor - descompresor de Ciaran Anscomb (Sixxie) y cuando menos debo decir que es impactante su velocidad y escaso uso de memoria (52 bytes)

Os adjunto un fichero .VDK que contiene tres ficheros:
DUNZIP.BIN que es el ejecutable descompresor de datos (52 bytes + 9 de cabecera)
ZIP.BAS el programa de pruebas en Basic
HOB01Z.BIN es la imagen de la primera ubicación del juego comprimida en Windows con la aplicación DZip de Sixxie a la que le he añadido la cabecera std de Dragón para poder cargarlo

El programa empieza reservando espacio para la rutina descompresora y luego carga la pantalla movida hacia el final de su área reservada
Muestra a continuación la dirección inicial de esta imagen (en este caso $FE8)
Cuando pulsemos la tecla C, el programa mostrará la pantalla en formato comprimido
Al pulsar de nuevo C se ejecuta el descompresor y en milisegundos veremos restaurada la ubicación susodicha!
Pulsando de nuevo C finaliza el programa.

Haciendo números sobre las pantallas actuales podemos ver que
Sin comprimir ocupan 88.704 bytes
Una vez comprimidos ocupan 61.192 bytes, no es para tirar cohetes, pero se ahorra un 31% de espacio

Espero vuestros comentarios ... José Luis nos cabrían algunas pantallas mas de ubicaciones que no tienen ninguna en Spectrum, ¿Cómo lo ves?

saludos
pere
Adjuntos
25 - Pruebas DZip.zip
(3.42 KiB) Descargado 41 veces

Avatar de Usuario
minter
Mensajes: 1806
Registrado: 22 Jul 2014 18:51
Agradecido : 1170 veces
Agradecimiento recibido: 494 veces

Re: Pruebas en Dragon

Mensajepor minter » 17 Feb 2015 18:13

en estas imágenes, es parecido al efecto moiré en algunas TVs.


¿No será el efecto MORIA en este caso? -507

Muy buen efecto! -thumbup

Avatar de Usuario
ron
Mensajes: 17867
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 857 veces
Agradecimiento recibido: 912 veces

Re: Pruebas en Dragon

Mensajepor ron » 17 Feb 2015 19:25

muaré muaré, probado y es asombroso lo rápido que es !!!

pantrmrw01.png
pantrmrw01.png (49.89 KiB) Visto 1050 veces

jltursan
Mensajes: 2197
Registrado: 20 Sep 2011 13:59
Agradecido : 101 veces
Agradecimiento recibido: 270 veces

Re: Pruebas en Dragon

Mensajepor jltursan » 17 Feb 2015 20:05

Me parece bien, aunque no se si van a caber las de la casi veintena de localizaciones que podrían meterse :-D
Ciertamente algunas es sangrante que no tengan, lo de que no haya "final", por ejemplo, es de lo más soso.

Me pongo con ello y ya se hará selección si alguna no entra.

Avatar de Usuario
pser1
Mensajes: 2213
Registrado: 08 Dic 2012 18:34
Agradecido : 296 veces
Agradecimiento recibido: 310 veces

Re: Pruebas en Dragon

Mensajepor pser1 » 17 Feb 2015 21:40

Hola José Luis,

no hay problema por espacio, como he comentado en mi mensaje anterior, si podemos contar con mas pantallas hay que pasar de trabajar con un disquet de una sola cara (180k)
a uno de doble cara (360k) y ya no hará falta ni pensar en utilizar imágenes comprimidas y descomprimirlas al vuelo ...
Además en el disco también vamos a querer guardar posiciones de partidas ... (opción SAVE) y esto aunque poco también se come su espacio

Veamos que maravillas de pantallas puedes conseguir ...

saludos
pere

Avatar de Usuario
luiscoco
Mensajes: 2337
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 34 veces
Agradecimiento recibido: 46 veces
Contactar:

Re: Pruebas en Dragon

Mensajepor luiscoco » 19 Feb 2015 04:35

En la coco son 160k en realidad solo 156672 bytes , que son los 35 tracks menos uno de directorio = 34 X 18 x 256
Yo no se, aun tengo la espinita de que si se pintan las pantallas con line, paint, como lo hace el programa original cabrían todas

Avatar de Usuario
pser1
Mensajes: 2213
Registrado: 08 Dic 2012 18:34
Agradecido : 296 veces
Agradecimiento recibido: 310 veces

Re: Pruebas en Dragon

Mensajepor pser1 » 19 Feb 2015 09:29

Hola Luis,

inténtalo ... solo con ver el espacio que ocupan los datos de las pocas pantallas que tiene el juego, me temo que ya requeriría pasar a trabajar con un Dragón 64 o un CoCo con 64k
y por supuesto entrar en mapa1 (todo RAM) para recuperar las 16k superiores para datos y liberar la parte baja para código, pero ésto dejaría fuera a todos los usuarios que tienen un
Dragón 32.
Creo que las controladoras de CoCo también admiten discos de doble cara, así que esto daría 2x156k = 312k que da para muchas pantallas ...

saludos
pere

Pd. Aparte de este detalle, dibujar implicaría ceñirse a las pantallas propias de Spectrum que son horribles comparadas con las que nos ha subido José Luis
O alguien se marca el detalle de descomponer estas pantallas en B/N en una secuencia de trazos, a ver quien es el valiente!

Avatar de Usuario
Chema
Mensajes: 1855
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 931 veces
Agradecimiento recibido: 326 veces
Contactar:

Re: Pruebas en Dragon

Mensajepor Chema » 19 Feb 2015 09:57

Hola.

Sólo como comentario, nosotros en el OSDK del Oric usamos un programa compresor externo que consigue un promedio del 50% de compresión http://osdk.defence-force.org/index?pag ... e=filepack

Por supuesto hace falta la rutina descompresora, que en este caso es algo más grande que el que comentas, pero es bastante rápida también (yo tengo descromprimido directamente sobre la memoria de pantalla en las intros de los juegos y no se nota demasiado). Eso sí, está en fuente asm para 6502...

http://miniserve.defence-force.org/svn/ ... b/unpack.s

Por si queréis hacer alguna prueba. Si comprimiendo así conseguís meter en 100K de disco unas 50 pantallas, creo que merecería la pena intentarlo...

Avatar de Usuario
pser1
Mensajes: 2213
Registrado: 08 Dic 2012 18:34
Agradecido : 296 veces
Agradecimiento recibido: 310 veces

Re: Pruebas en Dragon

Mensajepor pser1 » 19 Feb 2015 11:08

muchas gracias, Chema

por supuesto que voy a probarlo ... en mi opinión la solución pasa por utilizar un disco de doble cara (360K para Dragon, 312K para CoCo2) y olvidarse de estas maravillas
Pero el tema es muy interesante.
La versión de Ciaran exige comprimir en entorno Windows (o lo que sea, el fuente en C es público)
Luego el descompresor, lo hizo el mismo para 6809 y lo utilizó en su disco de demo NYAN Cat si no recuerdo mal ...

La prueba que os he subido lo que hace es cargar el fichero comprimido en pantalla y espera que pulses una tecla para darte tiempo a ver el fichero ya comprimido
Al pulsar la tecla se ejecuta el descompresor que reubica en la misma pantalla la imagen descomprimida. Es instantáneo!

un abrazo
pere

Avatar de Usuario
pser1
Mensajes: 2213
Registrado: 08 Dic 2012 18:34
Agradecido : 296 veces
Agradecimiento recibido: 310 veces

Re: Pruebas en Dragon

Mensajepor pser1 » 19 Feb 2015 11:29

@Chema

viendo el descompresor, así a primera ojeada me entra una duda:
El 6502 trata los words (16bits) como la Z-80 (Lo-Hi) o como Dragón (Hi-Lo) ?

muchas gracias

De momento he comprimido la pantalla de la ubicación inicial (4041 bytes) con FilePack -p entrada salida
Me lo ha dejado en 2693 bytes (33%) frente a los 3031 (25%) del compresor de Sixxie
La mas comprimida con el de Sixxie es: Hob25, que lo ha dejado en 1691 bytes (58%) frente a los 1790 (56%) del de Sixxie
Los iré comprimiendo todos para ver la diferencia global, ya te comentaré ...
Entiendo que con ficheros tan pequeños (apenas 4K) es difícil ganar mucho espacio.

saludos
pere

Avatar de Usuario
Chema
Mensajes: 1855
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 931 veces
Agradecimiento recibido: 326 veces
Contactar:

Re: Pruebas en Dragon

Mensajepor Chema » 19 Feb 2015 13:14

Hola pere,

El 6502 es little-endian, en memoria el word $1234 se almacena en la dirección D el byte bajo ($34) y en la D+1 el byte alto ($12). El assembler se encarga de eso (al no ser que estés haciendo las cosas a mano). Para cargar el acumulador con el byte que está en la dirección $1234 se escribe lda $1234 en el fuente, quiero decir.

De todas formas mira a ver si merece la pena usarlo antes de nada (a mí me parece que podría ser, porque la ganancia no es insignificante, pero vamos como veáis). Usa un algoritmo LZ77, así que igual ya hay código para descomprimir en asm del Dragon.

Avatar de Usuario
Chema
Mensajes: 1855
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 931 veces
Agradecimiento recibido: 326 veces
Contactar:

Re: Pruebas en Dragon

Mensajepor Chema » 19 Feb 2015 13:25

Una cosa más. Igual no es tan rápido al descomprimir. Puedes hacerte una idea en la intro de Space:1999 donde se usa todo el rato para volcar imágenes en pantalla (a veces por trozos), aunque entre volcado y volcado se hacen otras cosas y hay música sonando y ese tipo de historias que usan CPU.

http://youtu.be/i4mjkt76dtM

Avatar de Usuario
pser1
Mensajes: 2213
Registrado: 08 Dic 2012 18:34
Agradecido : 296 veces
Agradecimiento recibido: 310 veces

Re: Pruebas en Dragon

Mensajepor pser1 » 19 Feb 2015 13:39

Hola Chema,

ya convertí las 22 pantallas de localizaciones que tenemos y estos son los resultados:
Ocupación sin comprimir: 88.704 bytes
Comprimidos con DZip (Sixxie): 61.192 bytes (compresión del 31%). Ahorro: 27.512 bytes, cabrian 6,8 ficheros mas o sea 6 imágenes adicionales
Comprimidos con FilePack (6502): 56.668 (compresión del 36%). Ahorro: 32.036 bytes, cabrian 7,9 ficheros mas o sea 7 imágenes adicionales
Ambos están lejos de obtener el 50% de compresión deseado.

La diferencia entre los dos métodos es de 4.524 bytes (5%) solamente da para añadir UNA imagen mas.
De todas formas voy a convertir el descompresor a 6809. Primero para practicar otra conversión y segundo porqué es mejor que el otro
incluso con ficheros pequeños. Seguramente, ambos, aplicados a ficheros de mas de 16k es cuando se les saca mas rendimiento ...

saludos
pere


Volver a “Proyecto The Hobbit 6809 por pser1”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado