Temas AGD
Temas AGD
Hello,
I have prepared a java program that converts a text file with the AGD definitions
of Blocks / Tiles into data for 4 bitplanes for the FM77AV2
The program uses the shape definition (8 bytes) and the colours (fore and background)
Before going on, I wanted to have a peek at the 16 colours defined in the LoadPal function
so I have used an old program that draws 16 rectangles with these 16 colours and have found
a few that are not as I had hoped or as their name make me think of.
This is the screenshot ... In order to adjust the component values of the colours that are not what they should be,
I would appreciate if anyone could upload a screenshot of the 16 colours palette on the
std Spectrum 48Kb and even better if anyone had a screenshot of these 16 colours used
in the MSX for the AGD games.
I attach a zip file containing
- TILES-AGD.BLK is a short text file with seven block/tiles definition from an AGD game
- TILES-BitPlanes is the conversion result of the java app
- PAL16B.ASM is the source code used to create the palette 16 coours
- PAL16B.D77 is the virtual disk for maybe you'd want to test it
In the source code you will find just before subroutine "PLTPG1" all the data related to
the colours used on MSX if I am not wrong.
Feel free to change the values in the 16 definitions an have a peek at the results after
compiling and executing on XM7
Besides the inaccuracy of some colours, the MSX seems to use colour Zero as transparency
so colour number 1 is used as Black (that's true for sprites ...)
I really don't want '1' to be Black colour as, for the FM77AV, the better number would be '0'.
In this case, colour number '1' results undefined or a second zero.
Any idea how to solve that?
thanks in advance
pere
I have prepared a java program that converts a text file with the AGD definitions
of Blocks / Tiles into data for 4 bitplanes for the FM77AV2
The program uses the shape definition (8 bytes) and the colours (fore and background)
Before going on, I wanted to have a peek at the 16 colours defined in the LoadPal function
so I have used an old program that draws 16 rectangles with these 16 colours and have found
a few that are not as I had hoped or as their name make me think of.
This is the screenshot ... In order to adjust the component values of the colours that are not what they should be,
I would appreciate if anyone could upload a screenshot of the 16 colours palette on the
std Spectrum 48Kb and even better if anyone had a screenshot of these 16 colours used
in the MSX for the AGD games.
I attach a zip file containing
- TILES-AGD.BLK is a short text file with seven block/tiles definition from an AGD game
- TILES-BitPlanes is the conversion result of the java app
- PAL16B.ASM is the source code used to create the palette 16 coours
- PAL16B.D77 is the virtual disk for maybe you'd want to test it
In the source code you will find just before subroutine "PLTPG1" all the data related to
the colours used on MSX if I am not wrong.
Feel free to change the values in the 16 definitions an have a peek at the results after
compiling and executing on XM7
Besides the inaccuracy of some colours, the MSX seems to use colour Zero as transparency
so colour number 1 is used as Black (that's true for sprites ...)
I really don't want '1' to be Black colour as, for the FM77AV, the better number would be '0'.
In this case, colour number '1' results undefined or a second zero.
Any idea how to solve that?
thanks in advance
pere
Re: AGD related
By now, the only things I have found are the images I attach hereunder.
The MSX colours seem very alike the ones I get on the FM77AV2 and the names are ok. Not very happy with them
On the Spectrum the colours seem brighter but no correspondence in numbers with MSX2
And most important thing. The values associated to these palettes are always $00-$FF but I am using values $00-$0F on the FM77AV
Could I really use values up to $FF instead?
I am not sure if this series of values could be ok: 00-11-22-33-44-55-66-77-88-99-AA-BB-CC-DD-EE-FF as every component has 16 levels
in the 4096 colours palette.
cheers!
pere
The MSX colours seem very alike the ones I get on the FM77AV2 and the names are ok. Not very happy with them
On the Spectrum the colours seem brighter but no correspondence in numbers with MSX2
And most important thing. The values associated to these palettes are always $00-$FF but I am using values $00-$0F on the FM77AV
Could I really use values up to $FF instead?
I am not sure if this series of values could be ok: 00-11-22-33-44-55-66-77-88-99-AA-BB-CC-DD-EE-FF as every component has 16 levels
in the 4096 colours palette.
cheers!
pere
Re: AGD related
I must confess i don't get what's the problem
That's a nice spectrum palette The palette, as expected, from the values of the screenshots provided.
I mean, if you have a full 8 bit color range (0-$FF) just pick the high nibble for the FM77AV conversion, that's all. Another thing is how you spend the analog palette indexes for your needs, but the pure RGB values, just pick the high nibble.
Another thing is that colors on an emulator and on real hw are different, but this depends on the analog realm, output devices, color carriers and the likes...
PS: As a little joke, i must say that FM77AV should have 100% of the ZXSpectrum color space
That's a nice spectrum palette The palette, as expected, from the values of the screenshots provided.
Código: Seleccionar todo
PLTPG1 FCB $00,$00,$00
FCB $00,$00,$00
FCB $00,$00,$0D
FCB $00,$00,$0F
FCB $00,$0D,$00
FCB $00,$0F,$00
FCB $00,$0D,$0D
FCB $00,$0F,$0F
FCB $0D,$00,$00
FCB $0F,$00,$00
FCB $0D,$00,$0D
FCB $0F,$00,$0F
FCB $0D,$0D,$00
FCB $0F,$0F,$00
FCB $0D,$0D,$0D
FCB $0F,$0F,$0F
Another thing is that colors on an emulator and on real hw are different, but this depends on the analog realm, output devices, color carriers and the likes...
PS: As a little joke, i must say that FM77AV should have 100% of the ZXSpectrum color space
PC 386
Re: AGD related
By the way, about the MSX palette. On the jltursan AGD MSX github, there is a default palette.
Código: Seleccionar todo
PLTPG1 FCB $00,$00,$00
FCB $00,$00,$00
FCB $0C,$02,$02
FCB $0E,$06,$06
FCB $02,$02,$0E
FCB $06,$04,$0E
FCB $02,$0A,$02
FCB $0C,$04,$0E
FCB $02,$0E,$02
FCB $06,$0E,$06
FCB $0C,$0C,$02
FCB $08,$02,$02
FCB $04,$0C,$0A
FCB $0A,$0A,$0A
FCB $0E,$0E,$0E
FCB $0F,$0F,$0F
PC 386
Re: AGD related
Yep, these palettes (ZX & MSX1) are pretty standard. What's exactly the problem?, and why are writing english in this thread?
Re: AGD related
Pos ahora que lo dices...jltursan escribió:Yep, these palettes (ZX & MSX1) are pretty standard. What's exactly the problem?, and why are writing english in this thread?
Pere juega en otra liga, asi que es normal que enseguida se le vaya a Shakespeare.. ademas nunca sabes cuando puedes necesitar a Malik
PC 386
Re: AGD related
Hola,jimbobaby escribió:I must confess i don't get what's the problem
That's a nice spectrum palette
The palette, as expected, from the values of the screenshots provided.I mean, if you have a full 8 bit color range (0-$FF) just pick the high nibble for the FM77AV conversion, that's all. Another thing is how you spend the analog palette indexes for your needs, but the pure RGB values, just pick the high nibble.Código: Seleccionar todo
PLTPG1 FCB $00,$00,$00 FCB $00,$00,$00 FCB $00,$00,$0D FCB $00,$00,$0F FCB $00,$0D,$00 FCB $00,$0F,$00 FCB $00,$0D,$0D FCB $00,$0F,$0F FCB $0D,$00,$00 FCB $0F,$00,$00 FCB $0D,$00,$0D FCB $0F,$00,$0F FCB $0D,$0D,$00 FCB $0F,$0F,$00 FCB $0D,$0D,$0D FCB $0F,$0F,$0F
Another thing is that colors on an emulator and on real hw are different, but this depends on the analog realm, output devices, color carriers and the likes...
PS: As a little joke, i must say that FM77AV should have 100% of the ZXSpectrum color space
la paleta que has subido y que parece hecha con el programa PAL16B, entiendo que es el resultado de algunas modificaciones a los valores
que yo había puesto que, por cierto, son los que utilizo para el módulo SuperSprite-FM+ con el V9958
Lo cierto es que los rojos me parecen mas rojos, la única excepción es el antepenúltimo color que me parece gris, como el penúltimo, en
diferente grado de brillo. Pero en teoría solamente debería haber un gris en la paleta ...
saludos
Re: AGD related
Hola,jltursan escribió:Yep, these palettes (ZX & MSX1) are pretty standard. What's exactly the problem?, and why are writing english in this thread?
la verdad es que leyendo el nombre que se da a los colores, no parecen todos muy acertados.
Usando los valores del V9958 para el FM77AV los colores rojos salen casi de color rosado y los amarillos salen mal.
Al menos con el programa PAL16B que he subido.
Supongo que los valores asignados a cada componente habrá que ajustarlos en cada máquina para compensar su 'personalidad'
saludos
pere
Re: AGD related
Efectivamente, era por facilitarle la 'entrada' a malikto999, pero vamos, que si nos vamos a centrar en paletas MSX vs FM77AV podemosjimbobaby escribió:Pos ahora que lo dices...jltursan escribió:Yep, these palettes (ZX & MSX1) are pretty standard. What's exactly the problem?, and why are writing english in this thread?
Pere juega en otra liga, asi que es normal que enseguida se le vaya a Shakespeare.. ademas nunca sabes cuando puedes necesitar a Malik
cambiar sin problemas ...
saludos
Re: AGD related
Si, las paletas simplemente las he probado a fuego en tu ejemplo (reemplazando la que habia). En el caso del spectrum he usado la imagen que has puesto como referencia para los valores, en el de MSX he tirado de aqui https://github.com/jltursan/AGD-MSX-Suitepser1 escribió:la paleta que has subido y que parece hecha con el programa PAL16B, entiendo que es el resultado de algunas modificaciones a los valores
que yo había puesto que, por cierto, son los que utilizo para el módulo SuperSprite-FM+ con el V9958
Lo cierto es que los rojos me parecen mas rojos, la única excepción es el antepenúltimo color que me parece gris, como el penúltimo, en
diferente grado de brillo. Pero en teoría solamente debería haber un gris en la paleta ...
saludos
Asi que he pillado los valores, he multiplicado por 2 cada RGB y ale, paleta hechaIf the MSX machine supports color palettes this feature is enabled. The default palette if you don't use the DEFINEPALETTE command is the following:
0x000,0x000,0x611,0x733,0x117,0x327,0x151,0x627 0x171,0x373,0x661,0x664,0x411,0x265,0x555,0x777
The 16 values (one color palette definition each) are defined using the GRB scheme.
(eso si, como bien has visto me he saltado un color y luego he rellenado con un $0F,$0F,$0F que no deberia estar ahi )
PC 386
Re: AGD related
Muy buenas,
tras unas pruebas mas, decido quedarme con esta paleta ...
Me parece que los colores hacen mas justicia a los nombres que se les da.
Estos nombres los podéis ver en el fichero fuente ASM
Además en el color 1 he puesto naranja que podría ser utilizado para sprites.
Para fondo, el color negro será el color 0
saludos
tras unas pruebas mas, decido quedarme con esta paleta ...
Me parece que los colores hacen mas justicia a los nombres que se les da.
Estos nombres los podéis ver en el fichero fuente ASM
Además en el color 1 he puesto naranja que podría ser utilizado para sprites.
Para fondo, el color negro será el color 0
saludos
Re: AGD related
La paleta de los chips de Yamaha (la estática aplicada al modo G7), como la mayoría de sistemas que emplean paletas de 8bits, suelen basarse en un reparto de bits R3-G3-B2 (G3-R3-B2 en el caso del Yamaha) porque se supone que el ojo percibe con menos detalle los cambios en el azul. Sea verdad o no, eso hace que convertir colores de esa paleta a otros formatos pueda dar resultados algo desviados; pero vamos no se si ha sido este el caso.
Y por tanto...para gustos paletas. Veo que has tratado de replicar la del MSX1, que aunque tiende a ser algo "desvaída", me gusta (Deep Purple forever!). Además, al poder reciclar ese color "transparente" puedes añadir el color que quieras y si lo tuviese que elegir yo, sería un gris medio. Salvo que tengas planes para él, ese amarillo-anaranjado no acabo de verlo
Y por tanto...para gustos paletas. Veo que has tratado de replicar la del MSX1, que aunque tiende a ser algo "desvaída", me gusta (Deep Purple forever!). Además, al poder reciclar ese color "transparente" puedes añadir el color que quieras y si lo tuviese que elegir yo, sería un gris medio. Salvo que tengas planes para él, ese amarillo-anaranjado no acabo de verlo
Re: AGD related
Hola,jltursan escribió:La paleta de los chips de Yamaha (la estática aplicada al modo G7), como la mayoría de sistemas que emplean paletas de 8bits, suelen basarse en un reparto de bits R3-G3-B2 (G3-R3-B2 en el caso del Yamaha) porque se supone que el ojo percibe con menos detalle los cambios en el azul. Sea verdad o no, eso hace que convertir colores de esa paleta a otros formatos pueda dar resultados algo desviados; pero vamos no se si ha sido este el caso.
Y por tanto...para gustos paletas. Veo que has tratado de replicar la del MSX1, que aunque tiende a ser algo "desvaída", me gusta (Deep Purple forever!). Además, al poder reciclar ese color "transparente" puedes añadir el color que quieras y si lo tuviese que elegir yo, sería un gris medio. Salvo que tengas planes para él, ese amarillo-anaranjado no acabo de verlo
es verdad, no me acordaba de que los V9958 tienen paleta de 256 colores 8x8x4 como bien dices con la mitad de valores en Azul.
El color naranja lo iba a dejar para los sprites ya que es un tono bastante distinto de los demás, pero pensándolo bien, valdrá la pena tener
las dos paletas personalizadas, de forma que el color 1 podrá ser un gris entre los dos ya existentes y podría ser el naranja o cualquier otro
para sprites ya que supongo, sin certeza alguna, que para el FM77AV el color 0 será interpretado como 'transparente' y si no se asigna el color
negro a ningún área de los sprites, pues no haría falta el 1. Ya veremos como manejan los sprites en el juego "Shounen Mike"
De momento intentaré hacer un programa que muestre las dos paletas, la de sprites arriba y la de fondo abajo.
Los rectángulos serán la mitad de altos, pero debería ser suficiente. Así podría cambiar algunos colores para sprites y hacerlos mas brillantes
en lugar de tan 'pastel'
saludos
Re: AGD related
Hola,
adjunto el programa que define y muestra las dos paletas, arriba los colores para primer término (sprites) y abajo para fondo
No hay muchas diferencias por ahora, pero se puede 'personalizar' su se desea ...
En lo que concierne a juegos AGD convertidos, el color 1 para los Patrones no será usado nunca ya que el conversor de Spectrum-MSX
o Spectrum-FM77 trabaja con los colores 0-7 mas brillo añadiendo 64 resultando 64-71, pero claramente 0 y 64 son Negro
así que solo usamos para el fondo 14 colores.
Mirando el compilador de C para V9958 he visto que, en su momento, puse la función Convert Colours que tiene esta tabla
Como se puede ver hay dos valores que retornan 1, que es interpretado como CERO
Veo que además el 7 también está repetido mientras que faltan 2 y 9
Supongo que sería mejor utilizar todos los colores posibles ....
@jltursan
¿Podrías mirar en el compilador para MSX que valores pusiste en la función de conversión de colores?
muchas gracias
pere
adjunto el programa que define y muestra las dos paletas, arriba los colores para primer término (sprites) y abajo para fondo
No hay muchas diferencias por ahora, pero se puede 'personalizar' su se desea ...
En lo que concierne a juegos AGD convertidos, el color 1 para los Patrones no será usado nunca ya que el conversor de Spectrum-MSX
o Spectrum-FM77 trabaja con los colores 0-7 mas brillo añadiendo 64 resultando 64-71, pero claramente 0 y 64 son Negro
así que solo usamos para el fondo 14 colores.
Mirando el compilador de C para V9958 he visto que, en su momento, puse la función Convert Colours que tiene esta tabla
Código: Seleccionar todo
unsigned short ConvertColours( unsigned short oldCol)
unsigned short int convCol[16]={1,4,6,13,12,7,10,14,1,5,8,13,3,7,11,15};
Veo que además el 7 también está repetido mientras que faltan 2 y 9
Supongo que sería mejor utilizar todos los colores posibles ....
@jltursan
¿Podrías mirar en el compilador para MSX que valores pusiste en la función de conversión de colores?
muchas gracias
pere
Re: AGD related
Um, no recuerdo conversores de colores en los AGD MSX o MSX2. Todos los colores que uso son en formato nativo, incluyendo la existencia de paletas en MSX2.
Lo que si que recuerdo que hice fue una utilidad que puedes encontrar aquí: https://github.com/jltursan/AGD-MSX-Sui ... 0MSX/tools, llamada ZXAttributeConverter y que ayudaba a la hora de decidir que color MSX usar cuando se migraba algo desde ZX.
Lo que si que recuerdo que hice fue una utilidad que puedes encontrar aquí: https://github.com/jltursan/AGD-MSX-Sui ... 0MSX/tools, llamada ZXAttributeConverter y que ayudaba a la hora de decidir que color MSX usar cuando se migraba algo desde ZX.
Re: AGD related
Hola,jltursan escribió:Um, no recuerdo conversores de colores en los AGD MSX o MSX2. Todos los colores que uso son en formato nativo, incluyendo la existencia de paletas en MSX2.
Lo que si que recuerdo que hice fue una utilidad que puedes encontrar aquí: https://github.com/jltursan/AGD-MSX-Sui ... 0MSX/tools, llamada ZXAttributeConverter y que ayudaba a la hora de decidir que color MSX usar cuando se migraba algo desde ZX.
yo me refería al compilador en C que utilizamos en cada plataforma para convertir los ficheros AGD en ASM y luego los compilamos.
Para el MC6847 en B/N no utilizo el atributo de color, pero para el V9958 si lo uso, enviándolo a una función que lo descompone
basándose en que el formato es:
- Indicador de Intermitencia
- Indicador de brillo
- color de fondo
- color primer término
Una vez decodificados ambos colores con valor de 0 a 7 se les añade 8 si el indicador de brillo es 1
Con esto se obtienen 16 valores: 0-1-2-3-4-5-6-7-8-9-10-11-12-13-14-15
El valor de fondo y primer término se usan como índices a la tabla que los convierte de Spectrum a V9958, siendo esta la tabla
unsigned short int convCol[16]={1,4,6,13,12,7,10,14,1,5,8,13,3,7,11,15};
Donde puede verse que el valor 1 (color cero) aparece dos veces ya que negro con brillo sigue siendo negro
Pero me sorprende el hecho de que el 7 y 13 estén repetidos también mientras que echo en falta los valores 2 y 9 en la tabla
Estoy preparado una comparativa de colores Spectrum-MSX que subiré en el próximo mensaje ...
hasta pronto!