Página 1 de 1

Nueva paleta de colores para los 16/48k

Publicado: 11 Feb 2018, 15:44
por zx81
Buenas,

Un usuario de WoS ha calculado una paleta de colores para los modelos originales en base a las señales que saca la ULA. Pondría el enlace al hilo de WoS pero como no sé si eso es correcto, copio aquí el mensaje directmente tal y como lo escribió el usuario 'rga24':
I’ve made a colour palette for 16K/48K/+ machines, based on the YUV voltage tables in Chris Smith’s book The ZX Spectrum ULA.

This colour palette is suitable for ZX Spectrum 16K, ZX Spectrum 48K and ZX Spectrum+ machines, basically machines which use the original Sinclair Ferranti ULA, 5C102E, 5C112E or 6C001E. It is not suitable for 128/+2/+3/+2A machines, as these use a TEA2000 composite video encoder and don’t have the YUV voltages in Chris Smith’s book.

In B R G format:

0 6 8
A7 D 13
7 BD 7
AF C3 12
C 7 BA
B4 D C6
14 BC B9
BC C2 C4
0 6 8
B0 16 1C
18 CE 18
C8 DC 2C
2D 28 DC
DE 36 EF
46 EE EB
Por si interesa añadirla a los cores. Yo he probado a ponerla en JSpeccy y ZXBaremulator y, la verdad, si me recuerda más a lo que veía en mi TV color (cuando lo tuve, que el primer B/N que usé hoy no lo tendría ni de pisapapeles).

Re: Nueva paleta de colores para los 16/48k

Publicado: 11 Feb 2018, 23:41
por chernandezba
Yo también la he agregado a ZEsarUX :)
Según comenta su autor (rga-24 - Richard Atkinson) también pasará la paleta de color usada en los modelos Timex

Re: Nueva paleta de colores para los 16/48k

Publicado: 15 Feb 2018, 19:07
por Kyp
¿Y en el formato de 3 bits de color del ZX-Uno como sería?

Re: Nueva paleta de colores para los 16/48k

Publicado: 16 Feb 2018, 20:44
por zx81
Kyp escribió:¿Y en el formato de 3 bits de color del ZX-Uno como sería?
Ni idea Kyp, no sé ni como se organiza eso en el Uno, pero si solo tienes 3 bits por color, poco se puede jugar con eso.

Re: Nueva paleta de colores para los 16/48k

Publicado: 20 May 2018, 21:51
por Kyp
He calculado los valores para usar con el DAC de 18 bits...

---8<---

reg[17:0] palette[15:0];
initial $readmemh("palette.hex", palette, 0);

assign rgb = palette[{ i, r, g, b }];

---8<--- archivo palette.hex ---8<---

02080
050EA
02BC2
05C6C
2F083
320ED
2EBC5
31C6F
02080
071AC
06D06
0BDF2
3728B
3C3B8
3BF12
3FFFE

Re: Nueva paleta de colores para los 16/48k

Publicado: 23 May 2018, 20:06
por antoniovillena
Una pregunta. ¿No se pueden poner los valores en octal en lugar de hexadecimal? No tengo ni idea si Verilog los acepta, pero de hacerlo quedaría más legible porque cada 2 dígitos es un componente de color.
Kyp escribió:He calculado los valores para usar con el DAC de 18 bits...

---8<---

reg[17:0] palette[15:0];
initial $readmemh("palette.hex", palette, 0);

assign rgb = palette[{ i, r, g, b }];

---8<--- archivo palette.hex ---8<---

02080
050EA
02BC2
05C6C
2F083
320ED
2EBC5
31C6F
02080
071AC
06D06
0BDF2
3728B
3C3B8
3BF12
3FFFE

Re: Nueva paleta de colores para los 16/48k

Publicado: 24 May 2018, 10:01
por Kyp
Verilog acepta números en octal pero no hay una función $readmemo(), solo ...h (hexadecimal) y ...b (binario) que yo sepa.