PiZx: Clon barato de spectrum con FPGA (WIP)

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor antoniovillena » 05 Ago 2013, 18:52

No que va. Va todo en un sólo piso, tendría un aspecto similar a la RaspberryPi, mismo tamaño, misma ubicación de conectores pero diferentes componentes.

Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor radastan » 05 Ago 2013, 20:01

Una pregunta, que me he perdido: ¿el clon es una placa única o requiere la MOD-VGA?
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor antoniovillena » 05 Ago 2013, 20:17

radastan escribió:Una pregunta, que me he perdido: ¿el clon es una placa única o requiere la MOD-VGA?


El clon es placa única, de hecho los componentes de la placa serán ligeramente distintos a los que hay en la MOD-VGA y el prototipo. La única función que tiene este prototipo es ir desarrollando el "firmware" (por llamarlo de alguna manera), y lo más importante, que este firmware tenga un mecanismo para actualizarse sin necesidad de ningún cable JTAG.

Avatar de Usuario
Namek
Atari 1040 STf
Atari 1040 STf
Mensajes: 838
Registrado: 11 Jul 2011, 13:13
Gracias dadas: 18 veces
Gracias recibidas: 63 veces

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor Namek » 05 Ago 2013, 23:58

antoniovillena escribió:A ver, entiendo que el soporte RGB que hay ahora mismo sea cuestionable. La verdad es que por video compuesto la calidad es excelente, en principio no hay necesidad para RGB, a parte que habría que construirse un cable custom. La solución que he puesto tiene el inconveniente de no poder usar RGB y joystick a la vez, pero es que no nos sobran conectores. O bien metemos un nuevo conector (con el correspondiente agujero en la carcasa), o bien lo sacamos por el puerto de expansión. Y también habría que meter 3 transistores para bajar la impedancia de salida de los DACs.


Y digo yo, no se podria usar un cable custom en Y que saque los 5 pines de joystick a una hembra DB9 y los 4 del RGB al conector que sea por el otro lado? Asi se podria usar RGB y joystick a la vez... no...? :-k

Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor mentalthink » 06 Ago 2013, 00:16

Otra preguntilla, tendrá puerto serie?¿, como los +2 reales, o habrá algún metodo de conectarle cosas... lo digo porque ya que se pueden hacer cosillas de programar y tal, si se pudiera conectar con cosas externas como el Arduino al menos a mi me agradaría, lo que no sé si ya es demasiado tarde, o es extremadamente complejo añadirlo y se encarece mucho el invento... pero si se puede tener en cuenta o para el próximo, creo que a mas de uno le hará gracia poder conectar cachibaches, aunque sea de pruebas para un zx real.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor antoniovillena » 06 Ago 2013, 01:07

Namek escribió:Y digo yo, no se podria usar un cable custom en Y que saque los 5 pines de joystick a una hembra DB9 y los 4 del RGB al conector que sea por el otro lado? Asi se podria usar RGB y joystick a la vez... no...? :-k


Esto ya está resuelto. Hay un conector header 2x6 en el hueco del HDMI que sirve tanto para el cable JTAG como para el cable RGB, así que se puede tener RGB y joystick a la vez.

-- Actualizado 06 Ago 2013, 00:22 --

mentalthink escribió:Otra preguntilla, tendrá puerto serie?¿, como los +2 reales, o habrá algún metodo de conectarle cosas... lo digo porque ya que se pueden hacer cosillas de programar y tal, si se pudiera conectar con cosas externas como el Arduino al menos a mi me agradaría, lo que no sé si ya es demasiado tarde, o es extremadamente complejo añadirlo y se encarece mucho el invento... pero si se puede tener en cuenta o para el próximo, creo que a mas de uno le hará gracia poder conectar cachibaches, aunque sea de pruebas para un zx real.


No tendrá puerto serie. Todos los conectores están ya ocupados. Es más, para el conector EAR vamos a tener que hacerle un agujero a la carcasa. Pero sí, hay un método para conectarle cosas, hay 3 filas de 15 pines cada uno donde salen 40 pines de la FPGA, y esto da mucho juego. El número de pines está calculado de tal forma que se le pueda añadir un adaptador que saque el conector EDGE, siempre y cuando se conviertan los voltajes de 3.3V a 5V. De esta forma se le puede enchufar, en teoría, cualquier interface de Spectrum que no necesite 9 o más voltios.

También se pueden hacer interfaces específicos para esta placa como el puerto serie que acabas de mencionar. El clon tendrá lo básico, pero será ampliable. Si empezamos a añadirle cosas necesitaremos una placa más grande y el precio del mismo aumentará considerablemente. Para esos menesteres ya existen placas entrenadoras que por poco más de 100 euros tienen todo tipo de puertos, memorias, displays, pulsadores, etc...

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor mcleod_ideafix » 06 Ago 2013, 01:28

mentalthink escribió:Otra preguntilla, tendrá puerto serie?¿, como los +2 reales...

... que prácticamente están de adorno en ellos, entre otras cosas por el conector tan raruno que traen. Me pregunto cuántos habrán usado de verdad ese puerto serie, para algo más que no sea "ah, vale, funciona." (yo la verdad, ni siquiera para eso)

-- Actualizado 06 Ago 2013, 01:34 --

antoniovillena escribió:Es más, para el conector EAR vamos a tener que hacerle un agujero a la carcasa

Para evitar eso tienes dos opciones:
- Conector estéreo: sacas la salida de sonido (monoaural) por el canal izquierdo, y EAR por el derecho. Igualito que el conector CINTA/SONIDO del +3
- Conector estéreo/micro (no sé el nombre real, es ese que va con una clavija de 3,5'' que trae la masa y para tres señales, que se suelen ver en los auriculares con micrófono para los smartphones). Con este podrías tener sonido estéreo y EAR.

Por cierto, si estás pensando en implementar el sonido estéreo de AY, tipo ACB, necesitas un core de AY-3-8912 que dé los tres canales A,B,C por separado para que tú hagas la mezcla como te parezca después. El core que yo usé por ejemplo, ya los da mezclados. No sé si el core que escribió Jotego los da separados o no. Sea como fuere, habría que modificar el core en cuestión, lo cual no creo que sea difícil.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor antoniovillena » 06 Ago 2013, 01:56

mcleod_ideafix escribió:
antoniovillena escribió:Es más, para el conector EAR vamos a tener que hacerle un agujero a la carcasa

Para evitar eso tienes dos opciones:
- Conector estéreo: sacas la salida de sonido (monoaural) por el canal izquierdo, y EAR por el derecho. Igualito que el conector CINTA/SONIDO del +3
- Conector estéreo/micro (no sé el nombre real, es ese que va con una clavija de 3,5'' que trae la masa y para tres señales, que se suelen ver en los auriculares con micrófono para los smartphones). Con este podrías tener sonido estéreo y EAR.

Por cierto, si estás pensando en implementar el sonido estéreo de AY, tipo ACB, necesitas un core de AY-3-8912 que dé los tres canales A,B,C por separado para que tú hagas la mezcla como te parezca después. El core que yo usé por ejemplo, ya los da mezclados. No sé si el core que escribió Jotego los da separados o no. Sea como fuere, habría que modificar el core en cuestión, lo cual no creo que sea difícil.


Este tema lo he pensado mucho, y me gustaría que el sonido fuese estéreo y a la vez no depender de cables hechos a medida. La única forma de cumplir ambos requisitos es con dos conectores jack, uno para el sonido y otro para la carga de cinta. En ambos casos se usan cables jack estéreo que son los más comunes y fáciles de conseguir, aunque en la carga de cinta sólo se lea de uno de los dos canales. Sé que hay otras alternativas que no impliquen hacerle un agujero a la carcasa, las que indicas o bien sacar el puerto EAR pon un pin no utilizado del joystick, pero no todo el mundo sabría construirse ese cable específico.

Como está ahora todos los cables son baratos y fáciles de conseguir, excepto el RGB, pero es que no existe un cable genérico para RGB:
  • Video. RCA macho macho.
  • Audio y EAR. Jack 3.5 macho macho. Aunque es muy común que los conectores RCA de los televisores estén juntos (colores amarillo, blanco y rojo), por lo que el Jack 3.5 macho macho del audio se puede sustituir por uno Jack 3.5 macho - RCA doble macho.
  • Alimentación. Micro-USB o Mini-USB, hay muchos cargadores de móviles que valdrían como fuente.
  • JTAG. Se le puede enchufar el cable de Xilinx sin ninguna modificación.
  • Joystick. Norma atari.
  • Teclado. PS/2.
  • RGB. Específico, header 2x6 por un lado y Scart por el otro.

-- Actualizado 06 Ago 2013, 01:04 --

En cuanto a la mezcla, en el código VHDL lo tengo del modo occidental ABC (A+B, C+B). También está el modo oriental ACB (A+C, B+C) y por último está el mono (como en los spectrums originales), (A+B+C, A+B+C). Lo ideal es hacer una especie de BIOS y que el usuario pueda configurarlo de cualquiera de las tres maneras, pero vamos, esto por ahora es ciencia ficción.

Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor mentalthink » 06 Ago 2013, 02:16


Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensaje sin leerpor mcleod_ideafix » hace 44 minutos

mentalthink escribió:Otra preguntilla, tendrá puerto serie?¿, como los +2 reales...


... que prácticamente están de adorno en ellos, entre otras cosas por el conector tan raruno que traen. Me pregunto cuántos habrán usado de verdad ese puerto serie, para algo más que no sea "ah, vale, funciona." (yo la verdad, ni siquiera para eso)


Hombre la verdad que raro si que es una especie de cable de telefono, pero lo decia por el tema de hacer cosillas como sabes a veces hago cosillas con el Arduino y no se en temas puntuales intentar conectarlo a internet o cosas externas... para eso es el puerto serie no?¿..

Pero ya si comentáis lo de las patillas y que se pueden hacer complementos, pues nada mejor que mejor, que salga más barata la plaquilla y luego pues ya si alguién se ánima que haga el módulo o los módulos que se crean interesantes...

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: PiZx: Clon barato de spectrum con FPGA (WIP)

Mensajepor antoniovillena » 06 Ago 2013, 06:40

Nueva revisión 0.06 de los esquemáticos, con pequeños cambios:
  • Corregida alimentación JTAG de 3.3V a 2.5V.
  • Cambio de SRAM por CY62148EV30, que tiene 4 pines menos, a sugerencia de Superfo.
  • Eliminación de las resistencias en el oscilador.
  • Añadida resistencia a 3.3V en pin INIT_B.
  • Eliminación de condensadores redundantes en la entrada de alimentación.

Cosas que no son fijas, dependientes del ruteado:
  • Pin de reloj. Lo he puesto en GCLK0, pero puede ir en cualquiera de los 16 pines desde GCLK0 hasta GCLK15.
  • Resto de pines IO, pueden ir en cualquier orden, excepto los 4 pines de la SPI Flash, FLASH_XX, que son fijos.

Cosas que todavía faltan por definir:
  • Conector de alimentación, las opciones son micro-USB y mini-USB.
  • Qué hacemos con los 4 pines que sobran de la FPGA que no van a ningún sitio. Se pueden conectar 2 al joystick (pines 5 y 9), poner más pines en el conector de expansión, poner más leds, etc...
  • Pinout del conector de expansión. Tenemos 5 pines para repartir 5V, 3.3V y GND, por lo que 2 de ellos irían duplicados. O bien sacar los otros voltajes (2.5V y 1.2V) por ahí, aunque a eso le veo poca utilidad. Cómo dispondremos de esos 5 pines de alimentación en las 3 filas de 15 pines.
  • Norma PAL/NTSC del AD724. Aquí hay 3 opciones: o lo dejamos fijo PAL (como está ahora), que esté en PAL pero que se pueda cambiar fácilmente a NTSC soldando otro cristal y en ciertos pads, o bien totalmente configurable vía jumpers (llevaría 2 cristales).
Adjuntos
nuevo_clon_0.06.zip
(75.25 KiB) Descargado 239 veces


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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