Seis colores por carácter. ¡ CONSEGUIDO !

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

sromero
Nonamed
Mensajes: 1221
Registrado: Mar Abr 17, 2007 12:35 pm
Ubicación: Valencia
Contactar:

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por sromero » Lun Ene 19, 2009 7:07 pm

Por cierto, alguno de los ejemplos que habéis puesto van bien en 48K pero no en 128K ...

¿Cuál es el motivo a nivel de temporación para eso?

Gracias :)
NoP / Compiler

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por mcleod_ideafix » Lun Ene 19, 2009 7:15 pm

¿Motivos? Todos: el 128K usa otra temporización para pintar un scan en la pantalla (no recuerdo si eran 228 ciclos en lugar de 224), y para colmo, si estás usando un +2A/+3 o similar que no implemente el IN 255, no verás nada y se te quedará colgado.
Por cierto, esto del IN 255 me ha dado pie a descubrir una curiosidad que no emulan, al parecer, ni siquiera el Spectaculator y el ZXSpin. Lo contaré más tarde en el foro de hardware.
Web: ZX Projects | Twitter: @zxprojects

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por Gandulf » Lun Ene 19, 2009 7:17 pm

Que yo sepa es porque utiliza el puerto 255 para sincronizar con pantalla, y esto en los modelos de amstrad no funciona. Se podría hacer un método "multisistema" pero el código ocuparía más y sería un poco más lento, aunque quizá valga la pena. Lo digo más que nada porque casi todos al final utilizamos como modelo "de uso frecuente" un modelo de amstrad. Pero bueno, se puede convertir al final, cuando esté todo listo y funcionando.

En un 128K de los antiguos debería funcionar el programa, aunque el timing no sea el mismo

P.D: Ya contestó McLeod de todas formas
Un saludo,

Gandulf

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por mcleod_ideafix » Lun Ene 19, 2009 7:57 pm

Bueno, y ya para terminar (¡¡porque es que esto pica que no veas!!) lo que he hecho es usar otro método en el cutre-programa para convertir formatos.
Me baso en que para una línea de 8 píxeles RGB de la imagen original hay un número grande, pero manejable, de combinaciones disponibles en este modo de color. Concretamente, hay 256*64=16384 posibles combinaciones de píxeles, tinta y papel para cada scan de 8 píxeles.

El programa lo que hace ahora es, de forma sistemática y en plan "brute force" probar cada una de esas combinaciones, con brillo y sin brillo, y busca aquella que al aplicarla en lugar del scan de 8 píxeles original, dé un error menor. Para calcular el error entre el scan original y el "spectrumizado" uso el conocido método de mínimos cuadrados.

La impresión que me da es que el resultado tiene unos colores quizás más acordes al original, aunque en B/N no gana respecto del método anterior.

Unas muestras:

Natalie, con el nuevo método:
Imagen

Y otra imagen, esta de una modelo en bikini. Muestro primero la imagen de la que parto, ya pre-tratada en Paint Shop Pro. El pretratamiento consiste en escalar la imagen a 112x192 píxeles, y luego aplicarle una paleta de 16 colores como la del Spectrum con dithering por difusión de error. El resultado es la imagen que se podría ver en un Spectrum si éste tuviera color en alta resolución a nivel de pixel. Las otras dos imágenes son la misma modelo ya en el Spectrum usando la técnica primera de conversión, mucho más rápida, y usando la segunda técnica, que da colores más "naturales" aunque con un resultado más "ruidoso".

Imagen Imagen Imagen
Web: ZX Projects | Twitter: @zxprojects

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por Gandulf » Lun Ene 19, 2009 8:04 pm

Joer, con el segundo método queda espectacular, aun con el ruído.
Un saludo,

Gandulf

juanjo
rst 0
Mensajes: 31
Registrado: Dom Ene 18, 2009 6:03 pm

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por juanjo » Lun Ene 26, 2009 6:30 pm

Hola! mcleod_ideafix, ya he terminado la primera version del editor

ImagenImagen

Tiene herramientas lapiz y rectangulo, zoom, undo y redo.

Escribe el fichero en el formato que me dijiste, 6144 bytes de bitmap, 216 de atributos izquierda y otros tantos de la derecha, y 2688 de atributos de alta definicion.

Ahora solo falta la forma de cargarlo en el spectrum. Me dice mi hermano que iria bien tener la imagen en ficheros separados y cargarlos desde basic. Ademas el bitmap tiene que estar entrelazado en tres tercios (ahora esta de forma continua)

Cual crees que es la mejor forma de cargar la imagen?

juanjo
rst 0
Mensajes: 31
Registrado: Dom Ene 18, 2009 6:03 pm

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por juanjo » Mié Ene 28, 2009 10:20 pm

He añadido algunas cosas mas:

Imagen

-El interfaz grafico ahora se puede elegir que este junto (herramientas y editor en una sola ventana) con un parametro.
-Herramientas nuevas: Relleno, cuentagotas, línea, desplazamiento del bitmap.
-Grid opcional que muestra donde acaban los bloques de 8x8 y 8x1 pixels
-Colores transparentes de ink y paper por separado
-Menu

juanjo
rst 0
Mensajes: 31
Registrado: Dom Ene 18, 2009 6:03 pm

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por juanjo » Jue Ene 29, 2009 12:29 am

He estado haciendo pruebas con el fichero de salida del editor. He probado a grabar una imagen normal de spectrum con el bitmap y los atributos normales, y por separado el bloque de bytes de atributos de alta resolucion. La imagen normal carga bien, ahora me falta saber en que direccion de memoria cargar los atributos de alta, para hacerlo funcionar en la demo.

MCLeod, en que direccion se encuentran los datos de alta resolucion? (el label Natalie) Supongo que con eso ya podria hacer pruebas. O bien, si hicieras una rutina que cargara los atributos de alta del fichero en vez de cargarlos "desde el codigo", nos iria bien. O que cargue todo junto, de un fichero con el formato que me dijiste (bitmap, atributos izquierda, atributos derecha, atributos en alta)

Gracias

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por mcleod_ideafix » Jue Ene 29, 2009 12:30 am

Te respondo en cuanto pueda. Ahora mismo ando liado!! :)
Oye! Qué chulo ha quedado!!!! :)
Web: ZX Projects | Twitter: @zxprojects

juanjo
rst 0
Mensajes: 31
Registrado: Dom Ene 18, 2009 6:03 pm

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por juanjo » Vie Ene 30, 2009 3:53 am

Gracias,

este es el proyecto de Sourceforge de donde se puede bajar:
https://sourceforge.net/projects/colorator/

Para ejecutarlo debes tener instalado el Java Runtime Environment 1.4 por lo menos.
Descomprimir, entrar con una linea de comandos en el directorio donde lo has puesto, y ejecutar el comando:
"java Colorator -gui"
Ojo a las mayusculas. El parametro -gui es para que este todo en una sola ventana. Sin el, aparece la ventana de herramientas independiente.

Por cierto que funciona en linux (y MacOS), al ser java... :)

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por mcleod_ideafix » Vie Ene 30, 2009 5:53 am

Pues lo probaré en cuanto termine de arreglar un cacharro que se me resiste :)
Web: ZX Projects | Twitter: @zxprojects

juanjo
rst 0
Mensajes: 31
Registrado: Dom Ene 18, 2009 6:03 pm

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por juanjo » Sab Ene 31, 2009 5:00 am

La ultima version (0.930) tiene un importador de gif, jpg o png de 112x192

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por mcleod_ideafix » Sab Ene 31, 2009 5:43 am

Oh! ¿Y cómo has resuelto el tema de mapear los atributos en alta resolución?
Web: ZX Projects | Twitter: @zxprojects

juanjo
rst 0
Mensajes: 31
Registrado: Dom Ene 18, 2009 6:03 pm

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por juanjo » Dom Feb 01, 2009 12:16 am

mcleod_ideafix escribió:Oh! ¿Y cómo has resuelto el tema de mapear los atributos en alta resolución?


Con el algoritmo que dijiste tu de la minima suma de cuadrados

juanjo
rst 0
Mensajes: 31
Registrado: Dom Ene 18, 2009 6:03 pm

Re: Seis colores por carácter. ¡ CONSEGUIDO !

Mensaje por juanjo » Lun Feb 02, 2009 3:04 am

He subido la version 0.94 con algunos fallos corregidos, y una barra de progreso mientras importas. Me tarda 15 segundos en importar, cuanto te tardaba a ti?

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados