¿Cómo hacer en circuito físico la salida VGA?

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

¿Cómo hacer en circuito físico la salida VGA?

Mensaje por carmeloco » 24 May 2017, 21:24

En principio, lo que está implementado en el core de Spectrum, se puede hacer en circuito físico, con componentes. ¿Hay algún sitio donde ver cómo se hace la salida VGA? La idea, sería hacer un circuito, para poder conectarlo a un Spectrum real, y dotarlo de salida VGA.

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: ¿Cómo hacer en circuito físico la salida VGA?

Mensaje por antoniovillena » 24 May 2017, 22:13

Conectarlo a un spectrum real va a ser difícil porque trabaja a 50Hz y a esa frecuencia pocos monitores van a funcionar. Por otro lado tienes el problema de duplicar las líneas, ya que la frecuencia horizontal de 15khz se queda corta para un monitor. Y por último, está el tema de obtener las señales RGB, sólo disponibles en modelos +2A/+3. Las ULAs del resto de spectrum sacan YUV y tendrías que hacer un circuito conversor YUV->RGB.
carmeloco escribió:En principio, lo que está implementado en el core de Spectrum, se puede hacer en circuito físico, con componentes. ¿Hay algún sitio donde ver cómo se hace la salida VGA? La idea, sería hacer un circuito, para poder conectarlo a un Spectrum real, y dotarlo de salida VGA.

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

Re: ¿Cómo hacer en circuito físico la salida VGA?

Mensaje por carmeloco » 24 May 2017, 23:00

antoniovillena escribió:Conectarlo a un spectrum real va a ser difícil porque trabaja a 50Hz y a esa frecuencia pocos monitores van a funcionar. Por otro lado tienes el problema de duplicar las líneas, ya que la frecuencia horizontal de 15khz se queda corta para un monitor. Y por último, está el tema de obtener las señales RGB, sólo disponibles en modelos +2A/+3. Las ULAs del resto de spectrum sacan YUV y tendrías que hacer un circuito conversor YUV->RGB.
Vale, una vez asumido que solo puedo usarlo en los +2, ya que el gris, también entrega RGB por el conector de monitor (y el +128), y que solo puedo usarlo a 50Hz (mi monitor los acepta sin problemas), entiendo que el ZX-Uno, ya hace eso de duplicar las líneas (creo se le llama scandoubler dentro del código del core), y con la frecuencia horizontal, también hará algo.
A lo,que me refiero es que, si el circuito implementado en el core, se basa en las señales RGB, tiene que poder ser factible extraerlo a circuito físico.

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: ¿Cómo hacer en circuito físico la salida VGA?

Mensaje por Kyp » 24 May 2017, 23:26

Hay otro problema. El ZX-Uno hace el procesado del vídeo sobre la señal RGB digital y la salida RGB del Spectrum es analógica. Habría que digitalizarla, procesarla, y volver a convertirla en analógica. El circuito resultante no sería nada trivial.

Avatar de Usuario
antoniovillena
Mensajes: 2621
Registrado: 27 Sep 2015, 20:41

Re: ¿Cómo hacer en circuito físico la salida VGA?

Mensaje por antoniovillena » 24 May 2017, 23:28

Pues sí, si te conformas con 50hz un scandoubler te bastará. Aunque no sería tan sencillo como en el core de spectrum del zxuno. Desde el core se repite la línea exactamente igual leyendo de la memoria de video. Un scandoubler acoplado a un spectrum real no tendrá acceso directo a la RAM baja, por lo que leer una línea en formato RGB y replicarla cuando toque.

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

Re: ¿Cómo hacer en circuito físico la salida VGA?

Mensaje por carmeloco » 25 May 2017, 08:01

Kyp escribió:Hay otro problema. El ZX-Uno hace el procesado del vídeo sobre la señal RGB digital y la salida RGB del Spectrum es analógica. Habría que digitalizarla, procesarla, y volver a convertirla en analógica. El circuito resultante no sería nada trivial.
¿Seguro que es analógica? Porque en el manual del +2, dice que son niveles TTL. De estar equivocado el manual (no lo descarto, ya he encontrado otros errores) desde el conector edge, ¿no hay forma de obtener los componentes digitales desde el conector edge? El interface spectra saca componentes desde alli, aunque quizá la complejidad del circuito, lo hace inviable por precio.
antoniovillena escribió:Pues sí, si te conformas con 50hz un scandoubler te bastará. Aunque no sería tan sencillo como en el core de spectrum del zxuno. Desde el core se repite la línea exactamente igual leyendo de la memoria de video. Un scandoubler acoplado a un spectrum real no tendrá acceso directo a la RAM baja, por lo que leer una línea en formato RGB y replicarla cuando toque.
Y entiendo que desde el conector edge, tampoco tienes acceso a la memoria baja, de forma que la cosa se complica y mucho.

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: ¿Cómo hacer en circuito físico la salida VGA?

Mensaje por Kyp » 25 May 2017, 09:39

Si no recuerdo mal, el único que saca niveles TTL (RGB más brillo) es el 128K. El +2 y los +2A/B/+3 sacan RGB analógico. Y no, la señales no están presentes en el edge. Si es verdad que es un RGB analógico muy sencillo porque no hay más que tres niveles (sin color, color, color+brillo) pero no deja de hacer falta un digitalizador por componente.

El Spectra no digitaliza la señal de vídeo, lo que hace es monitorizar los bus de direcciones y datos y cuando hay un acceso de escritura en la zona de memoria de pantalla hace una copia en su propia memoria. Luego la FPGA genera la señal de vídeo por su cuenta.

Avatar de Usuario
carmeloco
Mensajes: 751
Registrado: 25 Dic 2015, 12:02

Re: ¿Cómo hacer en circuito físico la salida VGA?

Mensaje por carmeloco » 25 May 2017, 10:17

Kyp escribió:Si no recuerdo mal, el único que saca niveles TTL (RGB más brillo) es el 128K. El +2 y los +2A/B/+3 sacan RGB analógico. Y no, la señales no están presentes en el edge. Si es verdad que es un RGB analógico muy sencillo porque no hay más que tres niveles (sin color, color, color+brillo) pero no deja de hacer falta un digitalizador por componente.

El Spectra no digitaliza la señal de vídeo, lo que hace es monitorizar los bus de direcciones y datos y cuando hay un acceso de escritura en la zona de memoria de pantalla hace una copia en su propia memoria. Luego la FPGA genera la señal de vídeo por su cuenta.
Bueno, el +2, es en esencia un 128K. En si, el cable RGB-Scart, es compatible para ambos.
Por otro lado, es verdad, que el spectra lleva un chip gordo que debe de ser una FPGA (ni idea del modelo, porque lleva encima un disipador) y hay también un chip pequeño de 8 patas, que debe de ser la "config eprom" (que tampoco se ve el modelo, porque lleva encima pegamento para fijar unos cables finos que deben de corregir algún error de diseño).
Pues nada, que al final, sale más a cuenta algún conversor de esos baratos que ya vienen hechos.

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: ¿Cómo hacer en circuito físico la salida VGA?

Mensaje por Kyp » 25 May 2017, 10:26

El +2 lleva dentro los diodos y resistencias necesarios para convertir la señal TTL RGB+I en RGB analogica, por lo demás son equivalentes, si.
La Spectra creo que lleva una Spartan-3 pero no me hagas mucho caso que te hablo de momoria y seguramente esté equivocado :D

Un interfaz tipo Spectra es uno de esos proyectos que tengo en mente hacer algún día :roll:

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: ¿Cómo hacer en circuito físico la salida VGA?

Mensaje por mcleod_ideafix » 25 May 2017, 23:40

carmeloco escribió:En principio, lo que está implementado en el core de Spectrum, se puede hacer en circuito físico, con componentes. ¿Hay algún sitio donde ver cómo se hace la salida VGA? La idea, sería hacer un circuito, para poder conectarlo a un Spectrum real, y dotarlo de salida VGA.
Esto es lo que buscas, pero sólo vale para los 128K, en donde tienes la salida RGB.
http://velesoft.speccy.cz/zx/zx-vga/
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Responder