Gameduino (o como meter un ZX Spectrum con ULAplus en...)

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
mike_01
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 142
Registrado: 08 Dic 2012, 00:58
Sistema Favorito: VIC20
primer_sistema: VIC20
consola_favorita: NeoGeo
Primera consola: (Otro)
Ubicación: Valencia

Re: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor mike_01 » 17 Dic 2012, 17:02

Por supuesto que estáis perdonados :lol:. Si el problema es que tampoco tengo tiempo para mirarme estas cosas, que si no...

Lo cierto es que, desde hace ya unos meses cuando vi lo que hacía este "aparatito" me quedé encantado, y hace unos días acabo de comprar uno por eBay. En realidad, no me he comprado el Gameduino sino el clon con la SDRAM, es decir el MOD-VGA-32. Espero que no tarde mucho en llegarme.

El otro día estuve viendo algo del ISE-Webpack en la página de Xilinx, y creo que fué lo que comentas del tamaño descomunal lo que me hizo desistir (más que nada por falta de tiempo) de bajar el programa, y empezar a probarlo. Pero aún así quería intentarlo más adelante.

Lo único que he visto, más o menos interesante, es esta página http://artlum.com/gameduino/gameduino.html, que entre otras cosas explica una utilidad para empaquetar datos binarios en un sketch de Arduino, y que podría ser la forma mediante la cual se genera el firmware a partir del fichero binario compilado (.BIT o .MCS). La idea que llevo es reprogramar la FPGA cargando la imagen o firmware desde el propio Arduino.

En la Uni hice prácticas de VHDL y programamos alguna FPGA, pero hace ya bastante tiempo de esto y tendría que volverlo a mirar. Por esto me interesaba el Gameduino/MOD-VGA. Si además de funcionar como plataforma de programación de juegos, es también una FPGA en la que se puede poner un ZX o algún otro ordenador de 8 bits, es casi un sistema retro "perfecto" (o al menos para mí, que estoy empezando).

Gracias por la información.

jepalza

Re: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor jepalza » 17 Dic 2012, 20:41

Poco mas hay que decir, tú te has contestado perfectamente. El Ise es descomunal, tanto en la descarga (unos 6 gigas) como en la instalación (unos 14 gigas) que lo hacen incómodo de tener en el PC. Se me ocurrió la "feliz" idea de instalarlo en un portátil viejillo, un Centrino 1.3, y tardó la friolera de 2 horas en instalar. Iba tan lento compilando, que lo desinstalé, y tardó una hora en quitarlo. Un desastre, vamos. AL final, lo tengo instalado a mi pesar, en el I7 de la empresa, y es algo que quise evitar.

Avatar de Usuario
mike_01
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 142
Registrado: 08 Dic 2012, 00:58
Sistema Favorito: VIC20
primer_sistema: VIC20
consola_favorita: NeoGeo
Primera consola: (Otro)
Ubicación: Valencia

Re: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor mike_01 » 17 Dic 2012, 20:54

Vaya, y yo que quería instalarlo también en mi portátil (es un Core 2 Solo), porque ahí tengo más espacio de disco duro.

Entonces, ¿al final has conseguido compilar el código Verilog de Gameduino con el ISE-Webpack? Es decir, después de hacer el titánico trabajo de instalar el entorno de programación, ¿se consigue fácilmente compilar el código fuente y obtener el binario .BIT/.MCS?

jepalza

Re: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor jepalza » 18 Dic 2012, 06:31

No, yo con el Gameduino no ando. No lo tengo, y por ahora no me interesa. Podría coger el código y meterlo en el OLS, pero como no le veo utilidad alguna (es reinventar la rueda), no he mirado nada. No tiene por que dar error. Es como si te bajas un fuente para el VisualStudio, que si tienes las librerías adecuadas, no debe dar error alguno.

En un Core2Duo irá mejor que en un Centrino, pero una hora de instalación no te quita nadie. y Compilar (sintetizar) si es sencillo (imagino que el gameduino lo es), no debería tardar mas de 15 minutos.

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: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor mcleod_ideafix » 05 Ene 2013, 03:37

¿Habeis visto la placa de "piggy-backing" tan molona que se ha hecho superfo para el clon en Gameduino? Ahora todo el clon ocupa menos que una cinta-cassette :O Soporta ULAplus, puede cargar de cassette (desde un iPod, por ejemplo), y sigue teniendo su salida RGB, video compuesto, y teclado PS/2. La imagen que se ve del gato con botas es una demo que hice para mostrar la misma imagen en modo ULA normal, TimexHiColour, ULAplus, y ULAplus+TimexHiColour (cambiando de modo de pantalla en cada banda de imagen)
http://www.worldofspectrum.org/forums/s ... stcount=44
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

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: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor mentalthink » 05 Ene 2013, 05:31

para flipar... Y ahí dentro hay 2 o 3 ordenadores distintos... Yo tengo una duda, para hacer esto del spectrum... hay digamos que "hackear" la placa del gameduino, me explico, para hacer esto se deja inservible como Gameduino, o por el contrario para grabar esté código se necesita algo en especial... Lo digo, porque como esto con el Visual Studio, yo le meto las cosas de Arduino, no sé si con esté mismo modo podría meterle ese códio y si me aburro volver a las andadas con los gráficos del Gameduino (que es muy molón)... Ostis... es vercdad que no tengo la amplicacion de memoria...

PS: Como digo siempre si el Clon del Gamuduno funciona para estó, comprarlo en eBay, pero en la tienda de Olimex, os saldrá casi por 20€ menos... que en la misma web de Olimex... son unos 30€ menod que el gameduino Oficial...

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: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor mcleod_ideafix » 05 Ene 2013, 13:50

mentalthink escribió:para flipar... Y ahí dentro hay 2 o 3 ordenadores distintos...

Bueno, en realidad ahí dentro lo único que hay es una FPGA, no hay ni PIC, ni Arduino, ni nada de eso.
Bueno, salvo que te refieras a que ahí dentro puedes poner 2 ó 3 ordenadores distintos, eso sí. Te cabe con toda seguridad un Spectrum, un ZX81, un ZX80, un Jupiter ACE, y muy probablemente, un Oric Atmos, un VIC20, o un Apple II.

mentalthink escribió:Yo tengo una duda, para hacer esto del spectrum... hay digamos que "hackear" la placa del gameduino, me explico, para hacer esto se deja inservible como Gameduino

No estoy seguro... Creo que no hace falta, ya que lo único que necesitas que no está "listo para usarse" es el conector JTAG, que tienes que soldarlo a unos pads pequeñitos que hay al lado de uno de los "wings"
gameduino_jtag.jpg
gameduino_jtag.jpg (51.29 KiB) Visto 5442 veces

El grupo de pads de la derecha, etiquetado como JTAG va directo a la FPGA. Puedes meterle una configuración y automáticamente, reemplazará a la que tuviera en ese momento, pero el cambio no es permanente, sino que cuando se apague la pierde y vuelve a su comportamiento como Gameduino en el siguiente encendido.

Para evitar esto, la configuración se guarda en una PROM de configuración, que en este caso es una SPI FLASH de Atmel (visible en la foto, debajo de los pads). Ésta se graba usando el otro grupo de conectores, a la izquierda del anterior, que es un pequeño bus SPI. El programador USB de Xilinx permite grabar este tipo de memorias, aunque nunca las he usado.

mentalthink escribió:o por el contrario para grabar esté código se necesita algo en especial

Necesitas el ISE Webpack de Xilinx para editar el código. Si no piensas editar código ni nada de eso y sólo quieres la utilidad para grabar la SPI o "atacar" a la FPGA por JTAG, entonces del Wwebpack instala sólamente el iMPACT. También necesitarás un adaptador JTAG. Si dispones de un puerto paralelo en tu PC, el cable JTAG es muy sencillo y lo puedes hacer tú mismo (o comprarlo por muy poquito). Si no, en eBay hay unos cables JTAG para USB que son copia de los originales de Xilinx, solo que mucho más baratos que esos originales.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

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: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor mentalthink » 05 Ene 2013, 14:39

Gracias McLeod pues ya cuando estó esté hecho por alguno de vosotros, y pongáis la manera de hacerlo a ver si me animo... La verdad que estó de las FPGA's es muy interesante poder hacer hardware mediante software... Supongo que habrá diferencias con cosas que sean reales, pero que consiguén llevas a cabo los esquemas casi como si fueran componentes físicos... Una preguntilla que me viene a la cabeza... Supongo que estó al ser todo digital por adentro, serán transistores que se van commutando y vas haciendo el esquema... pero por ejemplo una bobina como se haría, porque yo personalmente no sé si se puede diseñar una bobina con transistores... supongo que se podrá, porque creo que los condensadores también se pueden "emular" (no sé si es correcto esté término), pero tampoco entiendo como se hacen capacidades con puertás lógicas o transistores... (Como digo estó es una suposición mia, y no tengo demasiada idea de como internamente, quizás me estoy "colando")...

Pues a seguir el proyecto, que es más que interesante... Gracias por la info como siempre...

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: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor mcleod_ideafix » 05 Ene 2013, 15:08

mentalthink escribió:Supongo que estó al ser todo digital por adentro, serán transistores que se van commutando y vas haciendo el esquema...

Bueno, no se diseña a nivel de transistores (es demasiado bajo nivel para la FPGA) sino que el nivel más bajo es el de las puertas lógicas (nivel RTL).

mentalthink escribió:pero por ejemplo una bobina como se haría, porque yo personalmente no sé si se puede diseñar una bobina con transistores...

La respuesta corta es: no, no se puede. No tengo idea de si se puede simular el comportamiento de una bobina unicamente con transistores... me da que no, y aunque se pudiera, tú no manejas transistores en la FPGA, sino puertas lógicas.

mentalthink escribió:supongo que se podrá, porque creo que los condensadores también se pueden "emular" (no sé si es correcto esté término), pero tampoco entiendo como se hacen capacidades con puertás lógicas o transistores... (Como digo estó es una suposición mia, y no tengo demasiada idea de como internamente, quizás me estoy "colando")...

Tampoco puedes emular condensadores con puertas lógicas. Se pueden implementar (que no emular) pequeños condensadores usando la unión PN de un diodo o de un transistor que hagas en un circuito integrado (esos son por ejemplo los condensadores que almacenan un bit de memoria en las memorias dinámicas), pero en la FPGA no tienes nada de eso. Hazte a la idea de que lo que tienes son puertas NOT, AND y OR. Cientos de miles de ellas. Ya está.

Todo lo anterior (bobinas, condensadores, etc) se podrá emular o no en una FPGA dependiendo de para qué quieras tú esas bobinas y esos condensadores. Si es por ejemplo porque quieres implementar algún tipo de filtro de audio, pues lo que se suele hacer es tratarlo todo en digital, usando filtros FIR (filtros de respuesta finita a impulso) que se implementan con módulos DSP. Es decir, fuera de la FPGA conviertes la señal analógica en digital, se procesa digitalmente en la FPGA haciendole de todo lo que necesites (filtros, modulación, etc) y al final, se saca a analógico mediante un conversor sigma-delta (que también puedes meter en la FPGA).

Otras veces en electrónica discreta se usan circuitos RC para retrasar un poquito una señal, como el caso del circuito de RAS/CAS del Spectrum. Para esos casos, el circuito se puede sustituir por un par de flip-flops que retrasen una señal uno o dos ciclos de reloj, o los que se necesiten, respecto a la señal original.

Otras veces (vuelvo a hablar del Spectrum) se usan resistencias para aislar buses de forma barata. Dentro de la FPGA no puedes hacer eso porque no hay resistencias, pero sí que puedes usar buffers triestado, o multiplexores, para conseguir el mismo comportamiento.

Hay FPGA's de señal mixta (pueden usar señales digitales y analógicas), pero no las conozco, así que no sé qué se puede implementar con ellas.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

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: Gameduino (o como meter un ZX Spectrum con ULAplus en...

Mensajepor mentalthink » 05 Ene 2013, 15:31

Ok McLeod gracias... pues me has aclarado un montón el tema... Yo pensaba, porque creo que una vez lo comentamos que cogías un esquema, y digamos era programarlo, claro yo pensaba, leches si quiero hacer lo que me de la gana podré, pongo un código y tengo una bonbina o lo que sea... Por eso me venía la duda de la Bobina...

Pero es realmente interesante lo que comentas... nunca había pensado en eso de los retardos , o simular otros componentes con los Flips-Flops y esas cosas.

Ya tengo un poquito más clara la cosa.. La verdad es que he dicho lo de la bobina pensando en algún ordenador antiguo, pero creo que si no es para algo de radiofrecuencia o para temas de Fuentes de alimentación, como que no tiene mucho sentido el tema de bobinas con circuitos Digitales, no?¿, quizás cosas de mandar señales inalambricas y tal ... pero para eso supongo que añadiendo hardware externo será mucho má sencillo...

Merci, porque estaba muy confundido con estó de las FPGA's, como te comento pensaba que era la caja mágica que se le puede hacer de todo... >| :oops:


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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