FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Avatar de Usuario
ron
Mensajes: 18440
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1608 veces
Agradecimiento recibido: 1336 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor ron » 15 Ago 2019 12:55

Último mensaje de la página anterior:

Bueno, bueno, lo que hace un día festivo y esto de las fpga's. Pues nada, más o menos estuve dándole una vuelta y la cosa la planteo que tal:

-bRick -laughing

Por un lado las emulaciones, tradicionales y HLE, fuera del hardware original nos quedan las fpga. La cuestión ahora, es si lo que hacen las fpga es completamente fidedigno. Ya como que da igual que le llamemos simulación, emulación, implementación o pez sierra. -rofl

Con lo que me quedo es que una FPGA ( matriz de puertas programables) es un "dispositivo programable en forma de circuito integrado" que contiene bloques de lógica cuya interconexión y funcionalidad puede ser programada, configurada y alterada en el momento y se consigue mediante un lenguaje de descripción especializado llamado VHDL. Programar lógica sobre una matriz de puertas programables nos permite sintetizar cualquier cosa, incluso un sistema complejo en un chip. Al ser reprogramables son muy versátiles en los flujos de diseño y directamente eliminan el coste de lo que supondría integrar un proyecto electrónicamente, de ahí que se usaran en sus comienzos para prototipar integrados o incluso probar funciones especificas antes de su implementación final en forma de ASIC o de Custom.

Una de las ventajas es que en una FPGA con los conocimientos suficientes puedes hacer implementaciones perfectas de una maquina y en un emulador es muchísimo más complejo y con resultados que dependen de unos timmings que marcan la diferencia. La gran variedad de salidas de video permiten al usuario disfrutar de los colores y paletas originales que muchas veces los emuladores no son capaces de renderizar.

Y entonces llegamos a los tiempos actuales y todo esto ha dado un salto cuantitativo y cualitativo. Ahora se pueden adquirir a precios asequibles y nos permiten disfrutar de máquinas completas de 8, 16 y 32 bit, funcionando tal y como funcionaban los sistemas originales gracias a la simulación del hardware original, el software funciona tal cual funciona en el hardware original. Es la FPGA la encargada de hacer la simulación de lo que "realmente estaría funcionando" en el hardware original.

Luego ya dependiendo de la implementación que se esté sintetizando esta puede incorporar otros elementos, como controladoras de disco, interfaces, tarjetas, ram y todo esto es configurable, con lo que se puede configurar la máquina pelada o expandida a tope. Eso es a gusto del usuario.

El debate que se está generando a mi opinión se centra entre los que no saben exactamente que se cuece y entre usuarios y puristas porque existe hardware NO documentado que se encuentra ya funcionando en las FPGA y las únicas formas de poder implementarlo son a través de la ingeniería inversa, el decapado del integrado original o incluso portando partes que provienen de la emulación. Digamos que si un chip está emulado en MAME/MESS y no hubiera manera de poder sintetizarlo en una fpga, se aprovecha todo y el único "pero" que se le podría achacar es este mismo ya que esa parte no estaría funcionando bajo una simulación real del hardware original sino bajo una muy próxima, que no la misma.

Dicho todo eso, de lo que pudiera ser una FPGA y de lo que cada uno entiende, tengo volver a insistir en lo que vengo diciendo hace mucho en las cryptas. Lejos de la nostalgia de un micro ( o de una consola ) que nadie se piense que con una FPGA va a reemplazar la máquina original, por tanto creedme cuando os digo que son el complemento perfecto. En ningún caso son para sustituir al micro original pero si como elementos de gran apoyo. Aunque también pudiera verse bajo el punto de vista de quien no tuviera la máquina original y quisiera conocerla, con lo ahí no hay nada que añadir. También para probar y filtrar antes de llevarte el software el micro físico, ya puestos.

A muchos usuarios les da esto exactamente igual y lo único que buscan es que les funcione, eso ya lo tienen garantizado, funciona. En realidad a mi lo que más me gustó o importó era la sensación, el feeling. Si eso lo valoras, lo agradecerás.

Avatar de Usuario
zx81
Mensajes: 224
Registrado: 23 Feb 2013 21:31
Agradecido : 11 veces
Agradecimiento recibido: 16 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 15 Ago 2019 18:11

He tenido que leer el hilo desde el principio para poder tener una vista general de las diferentes opiniones y puntos de vista, para así ver en qué promedio me encuentro. Y ciertamente, creo que estoy a medio camino de todo. Mucho del debate está encuadrado en la típica discusión de si lo que nos persiguen son galgos o podencos. Me atrevería a decir que alentado por aquellos que han hecho de la venta de placas su pequeño negocio (al que por supuesto tienen derecho, faltaría más). Se ha creado una cierta aura de que cualquier sistema en FPGA es necesariamente mejor que cualquier emulador por un motivo más bien l'orealista: porque yo lo valgo. Y eso es una falacia como un templo.

Hay un cierto desacuerdo, que yo no resolveré, acerca de si una FPGA hace emulación o no. Mi opinión es que, si no es una réplica en el sentido estricto, se parece mucho a una emulación, donde el detalle de si la emulación es HW o SW es secundaria. Por ejemplo, una característica muy distintiva del 68000 es que, además de microprogramación, lleva nanoprogramación. Desconozco si las sintetizaciones en VHDL o Verilog de esa CPU llegan a ese nivel de sofisticación, yo apostaría a que no. Por otro lado, no existe sintetización del Z80 para FPGA que se acerque a la precisión de la mayoría de emuladores software. No hablemos siquiera de replicar/emular/chafardear un Spectrum porque eso ya es demasiado.

Pero al final, lo que importa no es si la implementación de un Spectrum en FPGA es buena, mala o mediopensionista; lo que importa es la sensación del "cliente" de que está usando algo zuperió y más mehó que si usa una Pi o un PC, con peregrinos razonamientos como que la FPGA lo hace todo en paralelo (si lo que hace, no lo hace perfecto, por mí como si se opera de un callo a la vez) y un emulador gasta mucha CPU para hacer lo mismo (irrelevante, cuando la mayor parte de las CPU se pasan la vida esperando muy deprisa).

Personalmente, espero que las FPGA sean algún día el futuro de nuestras máquinas más queridas. Pienso que las máquinas reales iran muriendo nos guste o no, y fallarán partes sin reemplazo de garantías como pasa con la ULA del Spectrum. Pero a día de hoy, creo que están muy por detrás de los emuladores, guste a los que han metido pasta en un ZX-Uno (como yo) o en una Mistica16. Conste que esto no es una tajada ni un reproche contra los máquinas que han parido esas soluciones con las mejores intenciones, vaya esto por delante. Pero las FPGA no son mágicas ni hacen magia y, además, comportan sus propios problemas y limitaciones. Veamos algo que comenté en el foro correspondiente con el ínclito mcleod_ideafix a la sazón de la implementación del core del Spectrum en el ZX-Uno.

Resulta que el Spectrum 48k funciona, exactamente a 3,5 Mhz, aunque a pesar de haber seguido el libro de Chris Smith más o menos a rajatabla (tiene errores) resulta que en ciertas cosas no sale una réplica exacta del Spectrum, por ejemplo en el bus flotante. Si a eso le sumas un Z80 de compromiso, ya estás claramente por detrás de cualquier emulador. Pero es que en 128k es aún peor, porque por un problema de relojes, no es posible conseguir una frecuencia base de 3,5469 Mhz, con un error inducido de 8 Khz. Súmale que el resto de la réplica del 128k tiene soluciones de compromiso (por ejemplo, solo aplica contención a las páginas 5 y 7 y no a todas las que corresponde), y ya tengo algo que a mí no me sirve, lo que no significa que otro esté más contento que unas pascuas con esa solución. La pega es que para conseguir la machada de desarrollar el ZX-Uno y sus cores de Spectrum hacen falta unos especialistas que superan en mucho lo necesario para desarrollar un emulador software.

Por mi modesta experiencia en desarrollo de emuladores, sé que el 90% o más de los programas funcionan con una emulación más o menos discreta. Hay otro 5% que hay que doblar el esfuerzo para que funcionen bien, y del 5% restante el 3% necesitan triple o cuádruple esfuerzo mientras que el resto hay que sudar sangre y lágrimas para que funcionen. Aquí se aplica perfectamente la ley de los incrementos decrecientes, por desgracia. Así que lo que empieza siendo un core (o emulador) muy prometedor acaba en algo intermedio en el que los esfuerzos del, frecuentemente, único desarrollador se centran en añadir características tangenciales que aportan más valor de cara a la galería que conseguir que una oscura demo se ejecute perfectamente. Si a ello le sumas la relativa escasez de expertos en VHDL/Verilog pues ya tenemos el circulo imperfecto: que nunca llegas a poder sustituir ventajosamente el sistema original por una implementación en FPGA, que es lo que yo busco.

Lamentablemente, los emuladores software son inherentemente imperfectos, unos más y otros menos, pero todos lo son por su propia naturaleza. Incluso aunque en ZXBaremulator he conseguido que en el modelo de 48k salte una interrupción cada 19,968 ms como en el real, un frame se ejecuta en solo 4,4 ms, con lo que las cosas suceden exactamente en orden pero no en tiempo, y eso para una FPGA no solo es trivial, es que es su manera habitual de funcionar. En los modos de 128k tampoco he podido tener una interrupción cada 19,991541909 ms, y he tenido que dejarlo en 19,991 ms, lo que produce un error de 96 Hz/seg. No es perfecto pero, sorprendentemente es una precisión 83 veces mejor que una implementación FPGA. También he tenido que adoptar soluciones de compromiso, como que las frecuencias de las teles modernas es de 50 o (aprox.) 60 Hz, mientras que un Spectrum 48k genera la imagen a 50,080128 Hz y un 128k de 50,021145, frecuencias muy difíciles de conseguir en una salida HDMI, así que había que elegir: o va todo a la velocidad real del Spectrum y ligeramente desincronizado con la imagen (suponiendo que se escoja un modo de 50 Hz) o lo sincronizo con la imagen y a tomar por saco los tiempos. Para los curiosos, escogí lo primero.

Pero es que todo esto es pura fachada cuando resulta que las teles modernas hacen una cantidad de procesamiento brutal de la imagen, especialmente en modos de 50 Hz como he visto en mis teles. Se habla de lag, pero para empezar el protocolo HDMI, dependiendo del modo, recibe una o dos tramas de imagen y luego una de sonido, lo que les obliga a hacer buffering por un tubo. Los buses USB son una castaña pilonga para la emulación pues, ya no es que impongan un lag, sino que cada dispositivo tiene el suyo (hay teclados con 10 ms de polling y otros con 16, 20, 24 o mas). Encima, pasamos de dispositivos por interrupción como los teclados PS/2 a dispositivos por polling compitiendo por el uso del bus. Si tenemos que depender de guardar teles de tubo y teclados antiguos vamos listos.

Y lo peor: si aún a estas alturas ni siquiera tenemos una implementación 100% del Spectrum en FPGA, ¿qué pasará cuando haya que replicar sistemas muchísimo más complejos, como una Wii por ejemplo, o una PS2?.

Disculpas pornel ladrillo, que me ha costado horrores chaparrones en una tablet...
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
Chema
Mensajes: 2232
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1810 veces
Agradecimiento recibido: 584 veces
Contactar:

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Chema » 15 Ago 2019 18:23

Estoy al 99% de acuerdo contigo, zx81. Y el otro 1% es porque lo estoy leyendo desde el móvil en la playa y temo que se me escape algo XD.

Y lo de "irrelevante, cuando la mayor parte de las CPU se pasan la vida esperando muy deprisa" ha sido genial ;)

Avatar de Usuario
ron
Mensajes: 18440
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1608 veces
Agradecimiento recibido: 1336 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor ron » 15 Ago 2019 21:08

Celebro leer opiniones, por dispares o concluyentes que sean, es muy importante leer todo porque es la única manera de que cada uno tenga la capacidad de comprender, estar de acuerdo o discrepar sobre lo dicho.

Cuanta más gente toque el desarrollo de las FPGA más oportunidades de mejores cores habrá, es como todo, de momento parece que está en alza pero no se sabe cuanto va durar y de que forma. De momento con lo que ya hay vamos que chutamos. Eso si , quedan un par de máquinas por añadir para poder empezar a decir que si vale la pena. En realidad la vale, así que el efecto L'Oreal no sabría decir si es aplicable, hay rangos y fpgas, desde un ZXUNO, pasando por una MiSTica o recalando en una MiSTer, es todo cuestión de necesidades.

No veo en realidad un debate subyacente más allá de las diferencias que pueda haber de precio de un fabricante a otro, calidades y demás parafernalia. Al final lo resalta Jose Luis, creo que el punto es estar a medio camino, lo cual denota que se puede seguir tocando de todo, ya sean máquinas físicas, emuladores o implementaciones fpga sin perjuicio de nada.

Y lo de las Teles, lo puedes decir más alto pero dudo que más claro.

y al final, el feeling, es que esa sensación que te da es como tener la propia máquina delante. Ya te digo que si no sabes lo que hay detrás cuesta trabajo decidir si es una cosa u otra.

Avatar de Usuario
Hodor
Mensajes: 1055
Registrado: 19 May 2015 10:55
Ubicación: A 900km de Oviedo
Agradecido : 149 veces
Agradecimiento recibido: 184 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Hodor » 16 Ago 2019 23:43

Desde mi propia ignorancia y rozando el "cuñadismo", me atrevería a decir que las implementaciones FPGA se encuentran hoy en día un poco (muy) endiosadas. Con la cantinela de que son réplicas de la electrónica original creo que se ha aprovechado para repetir machaconamente una idea quizás no tan cierta como algunos pretenden hacernos creer. Y, me repito, ¿cuántos de los cores de ZX-UNO, Mistica o Mister puede decirse que son 100% exactos? ¿Cuántos soportan el catálogo de sofware completo de su respectiva implementación? ¿Cuántos son objetivamente mejores que sus respectivos emuladores software top de su máquina?

Estas y otras preguntas me las hago, repito, desde la ignorancia de un simple aficionado que mira a las FPGAs con ilusión, pero, a la vez, con cierto recelo porque no quiere que le den gato por liebre.

Un saludo.

Avatar de Usuario
zx81
Mensajes: 224
Registrado: 23 Feb 2013 21:31
Agradecido : 11 veces
Agradecimiento recibido: 16 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 17 Ago 2019 12:15

No estás diciendo ninguna tontería Hodor. Yo tengo un ZX-Uno guardado hace más de un año porque no me sirve para lo que yo quiero. Lo que no es ningún demérito para la placa, que es usada por mucha gente con total satisfacción. Pero para mí fue una decepción mayúscula comprobar lo lejos que está aún de la perfección que, sin lugar a dudas, puede alcanzar.

Pero es que afinar eso debe ser muy difícil. Un usuario de otros foros, llamado Kyp, hizo una modificación del core, creo recordar que cambiando la sintetización del Z80 por una mejor (y más grande en cuanto a necesidades de espacio en la FPGA), aunque no he llegado a probarlo. Sí sé que ese Z80 tampoco es perfecto. Al necesitar más espacio del chip ya no se pueden incluir tan fácilmente cosas como el DivIDE o la ULAplus.

En cambio, a los desarrolladores de cores les resulta mucho más estimulante portar cores de máquinas recreativas o de otras máquinas de 8 bits antes que ponerse a depurar al ciclo de reloj la implementación del Spectrum, y no se lo reprocho. Lo malo que tiene eso es que, con ese proceder, acabas teniendo tropecientos cores que todos andan entre el 70% u 80% de fidelidad de la sintetización y ni uno solo que sea perfecto o, al menos, cuya fidelidad supere el 98%. En cuanto el core arranca y ya se puede escribir "hello, world" se da por bueno y a por otro, que lo importante es que la lista sea larga.

El año pasado en una party pude probar la implementación del Spectrum en la Mistica16 y no es mejor que la del ZX-UNO, casi me atrevería a decir lo contrario. De modo que, por el momento, me abstengo de adquirir más soluciones en FPGA hasta que la cosa mejore sustancialmente.

Y pensándolo un poco, creo que a las implementaciones de hardware sin los esquemas originales de los chips deberían llamarse "reinterpretaciones" porque una réplica es otra cosa. La tercera entrada en el diccionario de la RAE para la palabra dice:

3. f. Copia exacta de algo, especialmente de una obra artística.

Hasta donde yo sé no existe aún una sola réplica en FPGA de chip alguno.
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
Hodor
Mensajes: 1055
Registrado: 19 May 2015 10:55
Ubicación: A 900km de Oviedo
Agradecido : 149 veces
Agradecimiento recibido: 184 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor Hodor » 17 Ago 2019 12:42

zx81 escribió:[...]

En cambio, a los desarrolladores de cores les resulta mucho más estimulante portar cores de máquinas recreativas o de otras máquinas de 8 bits antes que ponerse a depurar al ciclo de reloj la implementación del Spectrum, y no se lo reprocho. Lo malo que tiene eso es que, con ese proceder, acabas teniendo tropecientos cores que todos andan entre el 70% u 80% de fidelidad de la sintetización y ni uno solo que sea perfecto o, al menos, cuya fidelidad supere el 98%. En cuanto el core arranca y ya se puede escribir "hello, world" se da por bueno y a por otro, que lo importante es que la lista sea larga.

[...]


Esto que comentas siempre me llamó poderosamente la atención. Se han publicado múltiples cores pero la inmensa mayoría se encuentra a medio hacer o directamente abandonados, al menos en el caso del ZX-UNO. Y nada más lejos de mi intención cuestionar el esfuerzo de quien se encuentra detrás de su programación, pero ese escenario de abarcar mucho y apretar nada me provoca bastante desasosiego. Simultaneamente, me vuelve muy reticente a la hora de volver a invertir dinero en una FPGA.

Un saludo.

Avatar de Usuario
flopping
Mensajes: 2300
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 39 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor flopping » 17 Ago 2019 15:04

Bueno, todo lo dicho por aquí es muy válido, pero tenemos que recordar que todo esto se hace( en principio) por satisfacción personal y sin afán de lucro, (aunque luego se convierta en otras cosas), como bien dice ZX81 hacer una réplica de una máquina a ciclo de reloj exacto, no es que sea imposible, pero si muy difícil y conlleva mucho trabajo y tiempo, además de que hay que conocer exactamente y muy bien la máquina que se quiere emular, cosa que nadie (más que los diseñadores de las propias máquinas) saben, hay máquinas muy bien documentadas y otras no tanto, por eso la gente no puede hacer una réplica exacta, si muy parecida y que funcione al 70-80% o incluso más, pero nunca una réplica exacta, tampoco es que sea malo, mejor eso que nada, pero muchos que “diseñan” cores, como bien dice ZX81 con que funcione y puedan jugarse a unos pocos juegos, pues ya está bien, hay usuarios que con esos cores han mejorado en algo sus funcionalidades, pero para hacer eso y hacerlo exactamente igual al original, se necesita mucho conocimiento de la máquina a emular y saber hacerlo y eso es tiempo y trabajo, que muchos no tienen y por eso solo implementan la máquina “a medias”, si una empresa quisiera sacar beneficio de esto y se vendiera bien, seguro que tendríamos máquinas “perfectas”, pero no a coste cero como ahora, habrá gente que igual le parecera bien pagar 100-200-300€ o más por una emulación perfecta de una máquina, ya que hay máquinas que no se pueden conseguir ni a precios de vértigo, pero como digo, que una empresa quisiera hacer eso, solo sería para sacar un buen beneficio y para 4 locos que lo iban a comprar, pues como que no creo que nadie se lo plantee, por eso aunque sea algo “deficiente”, mejor tener algo que nada, también están los emuladores, que hay algunos bastante buenos y siempre podremos tirar de ellos, no tenemos por qué recrear todas las máquinas en fpga’s o similares.

Conclusión, disfrutar de lo que tenemos, mejorarlo si se puede y que no decaiga la ilusión y el mantenimiento de esas maravillosas maquinas que tantas horas de felicidad e ilusión nos dieron y nos siguen dando, salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide que padezco.
(C) 1982-2019, 37 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

Avatar de Usuario
zx81
Mensajes: 224
Registrado: 23 Feb 2013 21:31
Agradecido : 11 veces
Agradecimiento recibido: 16 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 17 Ago 2019 15:54

El Spectrum se conoce lo suficientemente bien como para hacer una implementación fetén. Ahora bien, el primer paso es tener una implementación fetén de la Z80 y eso, hasta donde yo sé, no existe. Luego hay que tener en cuenta que, cuando añades muchas puertas lógicas para hacer una reinterpretación más exacta empiezas a encontrarte con problemas de tiempos de propagación de las señales. Si es que, no creo que se valore lo suficiente el curro que hay que hacer para implementar una máquina en FPGA y el nivel de conocimientos que se necesitan. Además de ser precisos equipamiento electrónico que vale dinero. Y si necesitas una FPGA tocha, las herramientas de desarrollo son carísimas.

Que la gente hace esto por gusto y no por negocio está claro, pero es que solo esa gente es capaz de programar algo que sea ridículamente preciso. Chris Smith sabrá mucho de la ULA y del Spectrum pero el emulador que preparó para el primer ZX Vega dejaba bastante que desear en cuanto a fidelidad. A ver si es verdad que mcleod_ideafix hace algún día ese core de Spectrum llamado "pure bitch edition". En cualquier caso, los mejores emuladores de cualquier máquina lo son porque llevan años y horas de desarrollo para aburrir, y aún así siguen insistiendo porque siempre falta algo por hacer mejor.

Creo que todo depende del enfoque que le des, obsesionarte con cuatro cosas pero bien hechas o implementar muchas características que a duras penas funcionan. Y es mucho más fácil, entretenido y agradecido implementar multitud de cosas que centrarse en solo dos. Yo soy de los primeros y así me va. Ojalá tuviera otra vida para meterme con las FPGA...
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
desUBIKado
Mensajes: 72
Registrado: 15 Dic 2017 19:50
Agradecido : 1 vez
Agradecimiento recibido: 42 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor desUBIKado » 17 Ago 2019 17:08

zx81 escribió:Yo tengo un ZX-Uno guardado hace más de un año porque no me sirve para lo que yo quiero. Lo que no es ningún demérito para la placa, que es usada por mucha gente con total satisfacción. Pero para mí fue una decepción mayúscula comprobar lo lejos que está aún de la perfección que, sin lugar a dudas, puede alcanzar.


Hola zx81:

Estoy realmente interesado en saber en que te ha decepcionado el ZX-Uno y sus cores de Spectrum.

Saludos.

Avatar de Usuario
TitoxUnix
Mensajes: 473
Registrado: 14 Oct 2016 17:51
Ubicación: Entre la tele y el sofá
Agradecido : 40 veces
Agradecimiento recibido: 162 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor TitoxUnix » 17 Ago 2019 19:32

...

Avatar de Usuario
zx81
Mensajes: 224
Registrado: 23 Feb 2013 21:31
Agradecido : 11 veces
Agradecimiento recibido: 16 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 17 Ago 2019 21:01

desUBIKado escribió:
zx81 escribió:Yo tengo un ZX-Uno guardado hace más de un año porque no me sirve para lo que yo quiero. Lo que no es ningún demérito para la placa, que es usada por mucha gente con total satisfacción. Pero para mí fue una decepción mayúscula comprobar lo lejos que está aún de la perfección que, sin lugar a dudas, puede alcanzar.


Hola zx81:

Estoy realmente interesado en saber en que te ha decepcionado el ZX-Uno y sus cores de Spectrum.

Saludos.


A ver, tengo que andar con pies de plomo para que no parezca que ataco al equipo del ZX-Uno o al proyecto, nada más lejos de mis intenciones. El problema es mío, no de la placa, porque busco un reemplazo definitivo (o casi) para mis Spectrum. No tengo mucho sitio en casa para poder tener montadas mis máquinas permanentemente, ni siquiera una. Y a veces necesito ponerlos en marcha para comparar cómo va algún programa respecto de mis emuladores. O sea, necesito que el funcionamiento sea perfecto, no me valen medias tintas. Sabiendo que el que menos sabe del equipo del proyecto es una jodida máquina, confiaba que la cosa pasaría de buena, cerca de excepcional. Malditas expectativas.

Si la placa la conectas por VGA el Spectrum va mucho más rápido, a 60 Hz. Si la conectas por RGB sí va a la velocidad correcta, pero con las carencias ya sabidas del core Z80, que no es muy fino. Pero el 128k, según me explicó mcleod en el foro del ZX-Uno, es imposible conseguir un reloj de la frecuencia necesaria y el error es de 8 kHz, lo que me parece una burrada. Y la contención no es correcta en ningún modelo. Para rematar, la calidad de imagen es bastante regular, y no les culpo, es proyecto de costes muy contenidos, de modo que no se le pueden pedir peras al olmo.

De interesarme, aparte del Spectrum, sería el ZX-81, que no he probado porque si ya empezamos mal con la CPU...
No tengo ningún interés en arcades u otras máquinas, al menos de momento.

Sigo manteniendo mi ZX-UNO con la esperanza de que mcleod u otro se decidan algún día a hacer la reinterpretación definitiva, capacidad tienen de sobra. E insisto, ellos pensaron un proyecto, lo llevaron a cabo a través de un crowfunding inmaculado y han cubierto sus expectativas y las de la mayoría de los usuarios que han comprado la placa. Chapeau por ellos, no se les puede pedir más o hacer un solo reproche.

Pero, sinceramente, en lo referente al Spectrum no aporta casi nada que no hagan ya una docena de emuladores como mínimo. Si uno se mete en un trabajo tan complejo como programar una FPGA, es para llegar a donde antes nadie ha llegado, o así lo veo yo. Me parece perentorio desarrollar algo así, pero completo, porque en el proceso puede entenderse mejor el funcionamiento de la máquina, y eso es lo que necesitamos para preservarla de verdad y para siempre.

En cambio, en lugar de exprimir lo que hay, se fueron a por el ZX-DOS. Muy respetable la decisión, pero es que el desarrollo para ZX-Uno está muerto, con algunas adiciones puntuales por parte de unos pocos privilegiados capaces de meterle mano al bicho, tú entre ellos. Pero del Spectrum, parece que se acabó. Lo bueno del proyecto es que es completamente abierto y ahí está para quien quiera coger ese testigo. Ya me gustaría a mi poder ser uno de ellos, pero el morlaco es más grande que yo. Bien que lo lamento.

Y como desarrollador de dos emuladores, relativamente distintos entre ellos, puedo decir que quizá han tomado la decisión correcta. Al 99% de la gente le importa un pimiento morrón lo buena que sea la emulación. Con que puedan echar una partida al Knight Lore, al Exploding Fist o al Abu Simbel Profanation y la cosa vaya aparentemente bien, les sobra. Si la implementación de la emulación de disquetera está a medias, por coger un ejemplo, pero lee bien la imagen DSK de su juego favorito, lo demás se la trae al pairo. O sea, esforzarse al máximo para conseguir la perfección es la mejor manera de hacer el imbécil o, dicho de una manera más sutil, lo bueno es enemigo de lo mejor.

A pesar de todo, no puedo evitar, cada vez que pongo un modo de 128k en ZXBaremulator, ver en la pantalla un enorme 96, los Hz/seg que me sobran y que no veo manera de arreglar. Y eso jooooodeeeeee....
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
TitoxUnix
Mensajes: 473
Registrado: 14 Oct 2016 17:51
Ubicación: Entre la tele y el sofá
Agradecido : 40 veces
Agradecimiento recibido: 162 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor TitoxUnix » 17 Ago 2019 21:44

...

Avatar de Usuario
zx81
Mensajes: 224
Registrado: 23 Feb 2013 21:31
Agradecido : 11 veces
Agradecimiento recibido: 16 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor zx81 » 17 Ago 2019 21:57

TitoxUnix escribió:Para un fan de Spectrum es un 'must have'... pero en versión original o parecida. Los inventos de después me parecen sobrantes. Hombre lo de meterle un teclado original y que funcione así me gusta... pero nada más. ZX-Dos, microZX1, Go, etc...casi que te compras una Mistica y acabas antes, que tiene de todo y puede con mucho más.


Yo tengo la versión 4.2, con 2 Mb internos y 16 Mb de flash, porque ya que la compré tarde preferí la full-equip. Y guardada la tengo, esperando tiempos mejores. Porque la Mistica, ¿es algo mucho mejor o es la promesa de algo mucho mejor?. Porque si tratándose de una máquina sencilla como el Spectrum andamos así, ¿cómo va la emulación del Amiga que es mucho más complejo?. Claro que todo es cuestión de horas y gente implicada, así que a lo mejor va de cine.

Y tengo la sensación de que, tratándose de FPGA y Spectrum, no hay nada mejor que el ZX-Uno.
Cuando utilizo una palabra, esa palabra significa, exactamente, lo que yo quiero que signifique. Ni más, ni menos.
Humpty Dumpty

Empieza a jugar sin tener que compilar: Emulador JSpeccy
ZX Spectrum bare-metal para Raspberry PI ZXBaremulator

Avatar de Usuario
desUBIKado
Mensajes: 72
Registrado: 15 Dic 2017 19:50
Agradecido : 1 vez
Agradecimiento recibido: 42 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor desUBIKado » 17 Ago 2019 22:33

zx81 escribió:
desUBIKado escribió:
zx81 escribió:Yo tengo un ZX-Uno guardado hace más de un año porque no me sirve para lo que yo quiero. Lo que no es ningún demérito para la placa, que es usada por mucha gente con total satisfacción. Pero para mí fue una decepción mayúscula comprobar lo lejos que está aún de la perfección que, sin lugar a dudas, puede alcanzar.


Hola zx81:

Estoy realmente interesado en saber en que te ha decepcionado el ZX-Uno y sus cores de Spectrum.

Saludos.


A ver, tengo que andar con pies de plomo para que no parezca que ataco al equipo del ZX-Uno o al proyecto, nada más lejos de mis intenciones. El problema es mío, no de la placa, porque busco un reemplazo definitivo (o casi) para mis Spectrum. No tengo mucho sitio en casa para poder tener montadas mis máquinas permanentemente, ni siquiera una. Y a veces necesito ponerlos en marcha para comparar cómo va algún programa respecto de mis emuladores. O sea, necesito que el funcionamiento sea perfecto, no me valen medias tintas. Sabiendo que el que menos sabe del equipo del proyecto es una jodida máquina, confiaba que la cosa pasaría de buena, cerca de excepcional. Malditas expectativas.

Si la placa la conectas por VGA el Spectrum va mucho más rápido, a 60 Hz. Si la conectas por RGB sí va a la velocidad correcta, pero con las carencias ya sabidas del core Z80, que no es muy fino. Pero el 128k, según me explicó mcleod en el foro del ZX-Uno, es imposible conseguir un reloj de la frecuencia necesaria y el error es de 8 kHz, lo que me parece una burrada. Y la contención no es correcta en ningún modelo. Para rematar, la calidad de imagen es bastante regular, y no les culpo, es proyecto de costes muy contenidos, de modo que no se le pueden pedir peras al olmo.

De interesarme, aparte del Spectrum, sería el ZX-81, que no he probado porque si ya empezamos mal con la CPU...
No tengo ningún interés en arcades u otras máquinas, al menos de momento.

Sigo manteniendo mi ZX-UNO con la esperanza de que mcleod u otro se decidan algún día a hacer la reinterpretación definitiva, capacidad tienen de sobra. E insisto, ellos pensaron un proyecto, lo llevaron a cabo a través de un crowfunding inmaculado y han cubierto sus expectativas y las de la mayoría de los usuarios que han comprado la placa. Chapeau por ellos, no se les puede pedir más o hacer un solo reproche.

Pero, sinceramente, en lo referente al Spectrum no aporta casi nada que no hagan ya una docena de emuladores como mínimo. Si uno se mete en un trabajo tan complejo como programar una FPGA, es para llegar a donde antes nadie ha llegado, o así lo veo yo. Me parece perentorio desarrollar algo así, pero completo, porque en el proceso puede entenderse mejor el funcionamiento de la máquina, y eso es lo que necesitamos para preservarla de verdad y para siempre.

En cambio, en lugar de exprimir lo que hay, se fueron a por el ZX-DOS. Muy respetable la decisión, pero es que el desarrollo para ZX-Uno está muerto, con algunas adiciones puntuales por parte de unos pocos privilegiados capaces de meterle mano al bicho, tú entre ellos. Pero del Spectrum, parece que se acabó. Lo bueno del proyecto es que es completamente abierto y ahí está para quien quiera coger ese testigo. Ya me gustaría a mi poder ser uno de ellos, pero el morlaco es más grande que yo. Bien que lo lamento.

Y como desarrollador de dos emuladores, relativamente distintos entre ellos, puedo decir que quizá han tomado la decisión correcta. Al 99% de la gente le importa un pimiento morrón lo buena que sea la emulación. Con que puedan echar una partida al Knight Lore, al Exploding Fist o al Abu Simbel Profanation y la cosa vaya aparentemente bien, les sobra. Si la implementación de la emulación de disquetera está a medias, por coger un ejemplo, pero lee bien la imagen DSK de su juego favorito, lo demás se la trae al pairo. O sea, esforzarse al máximo para conseguir la perfección es la mejor manera de hacer el imbécil o, dicho de una manera más sutil, lo bueno es enemigo de lo mejor.

A pesar de todo, no puedo evitar, cada vez que pongo un modo de 128k en ZXBaremulator, ver en la pantalla un enorme 96, los Hz/seg que me sobran y que no veo manera de arreglar. Y eso jooooodeeeeee....


Lo primero muchas gracias por contestarme. Si bien la recreación del Spectrum en el ZX-Uno puede que no sea perfecta 1:1, para un usuario "normal" creo que la experiencia es altamente satisfactoria. También tengo un Spectrum 48K y un +3 reales, pero casi no los uso, ya que el ZX-Uno es mucho más cómodo y las posibilidades de cacharreo mayores.

Respecto a que por VGA el core de Spectrum del ZX-Uno va a 60 Hz eso no es así. Va a una serie de velocidades (hasta 8) que van desde los 50Hz hasta los 63.77 Hz. Tu puedes elegir aquella en que se vea bien con tu monitor. Yo tengo dos ZX-Uno y uso los dos a 50Hz, uno en un monitor LG Flatron M1917A y otro en un Nec MultiSync LCD1550M. Cierto que si para ver la imagen en un monitor necesitas poner la frecuencia a 60 Hz el Spectrum ira un 20% más acelerado que lo normal, pero ya te digo que ese es un problema de tener un monitor VGA que admita 50Hz. Por cierto, con el ZX-Uno se puede sacar la señal de video en NTSC por video compuesto, cosa que agradecerán aquellos aficionados que vivan en países en que esa sea la norma de TV, por ejemplo Perú o EUA.

Respecto a que la implementación de los procesadores Z80 en Verilog se puede mejorar estoy de acuerdo. En el ZX-Uno hay cores que usan la T80 (https://opencores.org/projects/t80) y otros la A-Z80 (https://opencores.org/projects/a-z80). Tanto un proyecto como el otro no están muertos y siguen mejorando.

Pensemos que el reciente "boom" con las fpgas viene del 2013 con la creación de la MiST y del ZX-Uno. Eso son 6 años. Acaso en el 1996 había emuladores de Spectrum tan buenos como los que hay hoy en día. También en esa época bastaba con que los juegos cargasen y se pudiese jugar a ellos. No pensaban en tener que implementar con fidelidad los timmings, el bus flotante, el efecto nieve, etc. eso ha sido después, con el tiempo y con mucho trabajo. Lo mismo le pasará a las implementaciones en FPGA, con tiempo y trabajo seguirán mejorando.

Sin embargo el core de Spectrum de ZX-Uno me parece magnífico y no he visto ningún problema en todo el software que he probado. No será perfecto, pero seguro que hay que rebuscar mucho para encontrar algo que no funcione bien.

Por otras parte la sensación que transmite al usarlo es que estás con una máquina física, no con un emulador. Y eso hace que tenga ciertas limitaciones, como por ejemplo que aun no se haya implementado el soporte de disquetera. Sin embargo si se ha implementado hardware adicional dentro del core que, si tuviese que comprarlo en físico para mis Spectrums reales, vale mucho más que lo que cuesta un humilde ZX-Uno: un divmmc, tarjeta de sonido Covox, un SpecDrum, inteface de joystick atari (que luego puede funcionar con los protocolos Sinclair, Kempston, Fuller, etc) doble AY, ULA compatible con Ulaplus, salida VGA. el chip de sonido SAA1099 del Sam Coupé, etc.

Además el core del ZX-Uno añade nuevas funcionalidades que no tenían los Spectrum de Sinclair como los modos Timex, el nuevo modo Radastaniano, DMA, interrupciones raster, velocidades 2x, 4x y 8x de la CPU. Hay están para quien quiera hacer uso de ellas.

También hay hardware especifico para ZX-Uno como el addon wifi con el que ya tenemos herramientas como clientes FTP, irc, gopher, plato y wget. Y pronto un terminal con el que acceder a BBS. Hace un par de semanas McLeod presentó un addon MIDI para poder reproducir archivos .MID y que suena de fábula. Además se puede usar con la instrucción PLAY del Spectrum 128.

Se puede cambiar de roms fácilmente y probar varios modelos de Spectrum. Se pueden usar las roms del proyecto +3e y usar una tarjeta formateada en +3DOS como si fuera un disco duro. Tenemos el Workbech +3e que es una imitación del workbench del Amiga pero en el Spectrum y que es una gozada. También se puede usar la tarjeta formateada en +3DOS como un disco duro para ejecutar CP/M 3.0.

Uno de los modelos de ZX-Uno que tengo es un ZX GO+ que lo tengo dentro de una carcasa de Spectrum 48K y uso su teclado de gomas para manejarlo con lo cual la experiencia es total. Y con ese mismo teclado de gomas puedo manejar un montón de ordenadores más implementados: CPC 464, Commodore 64, MSX1, Atari 800XL, BBC Micro, Apple II, etc. Y el cambiar de un ordenador a otro me lleva menos de 5 segundos.

Ahora Antonio Villena está sacando modelos de ZX-Uno que ya implementan físicamente el conector Edge del Spectrum (el core que permita utilizar los interfaces que se le conecten aun está en desarrollo), y tiene diseñado otro para el ZX-Dos que también lo implementará.

El ZX-Uno no será 100% perfecto en cuanto a fidelidad con un ZX Spectrum real, pero en cualquier caso creo que sí lo es en un altísimo porcentaje, y sus posibilidades de cacharreo a un precio contenido dan mucho juego.

Pero ya digo que las FPGA no son para todo el mundo, y que habrá gente que las disfrute más, otros con un buen emulador se sentirán satisfechos y otros si no es una máquina real no quieren saber nada.

Lo importante es que cada uno pueda elegir y usar lo que más le satisfaga sin obligar a nadie a que renuncie a sus gustos y opiniones.

Avatar de Usuario
desUBIKado
Mensajes: 72
Registrado: 15 Dic 2017 19:50
Agradecido : 1 vez
Agradecimiento recibido: 42 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor desUBIKado » 17 Ago 2019 22:37

TitoxUnix escribió:Es que para lo que se diseñó, como empezó la idea en un foro.. ¡¡¡el ZX-Uno es la poll@!!!!! ¿Fueron 35 lereles los del crowfunding? Jo, es que costó ¡¡¡nada y menos por un trabajazo de chapeau!!!


35 leureles es lo que cuestan las Raspberry Pi, el ZX-Uno del Crowdfunding costó 65 euros ( https://www.verkami.com/projects/14074-zx-uno ), que me pareció un precio genial para lo que ofrecía.

Avatar de Usuario
desUBIKado
Mensajes: 72
Registrado: 15 Dic 2017 19:50
Agradecido : 1 vez
Agradecimiento recibido: 42 veces

Re: FPGA: ¿ Emulación, Simulación, Réplica o WTF ?

Mensajepor desUBIKado » 17 Ago 2019 22:40

De todas formas el ZX-Uno no es solo Spectrum, implementa más de 20 microordenadores y consolas, además de muchos juegos Arcade primigenios. Cierto que no todos los cores están igual de pulidos, pero hay algúnos que sí lo están a un altísimo nivel.


Volver a “Emulaciones software, FPGA y otras soluciones”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado