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

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

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

Mensajepor zx81 » 18 Ago 2019 21:26

Último mensaje de la página anterior:

desUBIKado escribió:Buenas. Vuelvo de nuevo y deciros (cabrones) que acabo de grabar mi primer video en YouTube solo para seguir comentando este hilo. Estoy seguro que el core de Spectrum del ZX-Uno no será perfecto al picosegundo con la sincronización del haz de imagen, pero yo no estoy buscando eso. Yo quiero usarlo y estar sintiendo que estoy ante una máquina real y no un emulador, y eso me lo da.

Al final el video es para contestar a este comentario:

Chema escribió:A mi me haría mucho más tilín si fuese una recreación perfecta, se le pudiese conectar hardware de la época, meter en una caja igual que la original, quizás con algún añadido para facilitar la carga de software. Lo demás está bien, pero me dice poco.

En cuanto a la "sensación que transmite" o a la "inmediatez" me parecen cosas demasiado subjetivas. Yo veo los videos donde la gente las usa y hay que conectarlas, enchufarles un teclado (de PC), elegir el core, configurar si hace falta, y ya cargar el programa. Más inmediato es un emulador, qué queréis que os diga, donde puedo ejecutar el juego con doble clic y me elige el hardware apropiado. Y me temo que la emulación será mejor y funcionará prácticamente todo.


https://youtu.be/g29YPdO_lu0

Bueno Chema, ya has visto que está dentro de una carcasa con 35 años de edad, no tengo que elegir ningún core porque ya está por defecto el de Spectrum cuando lo arranco, es más inmediato que un emulador, y no necesito un doble click, sino que con un simple click ya puedo elegir entre una selección de más de 1.000 juegos ya ordenaditos y con sus nombres largos.

Y dicho esto, lo que has dicho en tu comentario es completamente cierto, pero que veas que hay otras soluciones con FPGA totalmente satisfactorias, por lo menos para mi.


Bueno, si hemos conseguido que con este hilo @desUBIKado se estrene en el yutup, ya hemos conseguido mucho. :D

Como todo es una cuestión de preferencias personales, yo no canibalizaría una carcasa de un gomas para meter nada, me parece una herejía y al final es como comprarse un Rolex falso: engañas a todo el mundo menos a ti mismo. Yo cuento con la enorme suerte de que el usuario de otros foros Hikoki me regaló un ZX Recreated Keyboard, que es una reproducción muy buena del gomas, sin desgraciar uno. El año pasado lo llevé a una party y dio el pego total. :D

Como no estoy en casa no puedo grabar nada parecido, pero sí grabé un vídeo hace un par de semanas, empleando a mi hija como camerawoman, de lo fácil que es usar ZXBaremulator con los teclados y un joystick vía Bluetooth usando un adaptador Magic-NS (que recomiendo a todo el mundo porque va de maravilla) :

https://youtu.be/iPqIP6JpMAg

El vídeo lo hice con otra intención, así que tampoco me explayo mucho. La idea que tengo es, si consigo quedar con wilco, hacer el montaje que salió en la MagPi número 67 y que permite conectar un teclado de un gomas a los GPIO de la PI, ya que debe ser, con diferencia, lo que más me ha pedido la gente (yo no tengo ningún Spectrum para jibarizar). Con eso y con la recuperación del soporte de las PI basadas en ARMv6, ya se podrá meter una Zero en una carcasa de un gomas.

Y lo de la percepción ya es psicológico, si te parece que eso es más fiel porque es una FPGA, aunque precisamente el core del +2a es de lo peorcito, ya que es el del 128k con las ROM del otro y que dudo ejecute bien las demos específicas del modelo, pues estás en tu derecho, naturalmente.

A la sazón, tampoco entiendo muy bien esa obsesión por padecer. Visto ahora, el teclado del gomas era infame, que lo cortés no quita lo valiente, e incluso el teclado de los modelos fabricados por Amstrad no era mucho mejor. El teclado que se ve en el vídeo es un Logitech K-120 con distribución UK que compré en Amazon. No elegí ese teclado por casualidad; tiene un tiempo de polling de solo 10 ms y acepta muchas combinaciones de hasta 6 teclas simultáneas más modificadores, cosa que no hacen la mayoría de teclados el doble o triple de caros. En versión española lo he llegado a ver por 11€. Para usarlo con emuladores es joconudo.

Pero por más videos que vea, ya tengo un ZX-Uno durmiendo el sueño de los justos, no compro más FPGA mientras no se publique un core mucho mejor del Spectrum para él o pueda probar yo personalmente una placa que lo tenga. Que ya me gasté 85 lereles de los que mi señora no se acuerda, que si no...
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: 80
Registrado: 15 Dic 2017 19:50
Agradecido : 3 veces
Agradecimiento recibido: 53 veces

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

Mensajepor desUBIKado » 18 Ago 2019 22:34

zx81 escribió:
Como todo es una cuestión de preferencias personales, yo no canibalizaría una carcasa de un gomas para meter nada, me parece una herejía y al final es como comprarse un Rolex falso: engañas a todo el mundo menos a ti mismo. Yo cuento con la enorme suerte de que el usuario de otros foros Hikoki me regaló un ZX Recreated Keyboard, que es una reproducción muy buena del gomas, sin desgraciar uno. El año pasado lo llevé a una party y dio el pego total. :D


Canibalizar sí, pero con respeto, como diría Ali G. La placa del 48K está retirada y envuelta en burbujitas de plástico para que no sufra. Y la carcasa del 48K no ha sufrido ninguna modificación ni daño.

Imagen

De izquierda a derecha podéis ver:

  • Conector PS/2. Se puede conectar un teclado PS/2 o bien un split para poder conectar un teclado y un ratón ps/2 a la vez.
  • En el hueco del conector de expansión: Mini USB de alimentación, conector de expansión, pulsador de RESET, tarjeta mini SD
  • Conectores jack de MIC y EAR
  • Conector de salida de vídeo. Con los cables adecuados tienes salida VGA, RGB/Scart o video compuesto.


zx81 escribió:Y lo de la percepción ya es psicológico, si te parece que eso es más fiel porque es una FPGA, aunque precisamente el core del +2a es de lo peorcito, ya que es el del 128k con las ROM del otro y que dudo ejecute bien las demos específicas del modelo, pues estás en tu derecho, naturalmente.


Elijo la del +2A porque me mola, pero no será por no tener opciones, puedo elegir entre todas estas para arrancar:

Imagen

Respecto a demos específicas que usen por ejemplo los timings de pentagon, solo tengo arrancar con la rom PENTAGON 128 o bien ejecutar este comando antes:

.zxunocfg -tpen -cn

Con eso ya he puesto los timings de Pentagon y he quitado la contención, y ya solo me queda lanzar una demo, por ejemplo Paralactika.


zx81 escribió:A la sazón, tampoco entiendo muy bien esa obsesión por padecer. Visto ahora, el teclado del gomas era infame, que lo cortés no quita lo valiente, e incluso el teclado de los modelos fabricados por Amstrad no era mucho mejor. El teclado que se ve en el vídeo es un Logitech K-120 con distribución UK que compré en Amazon. No elegí ese teclado por casualidad; tiene un tiempo de polling de solo 10 ms y acepta muchas combinaciones de hasta 6 teclas simultáneas más modificadores, cosa que no hacen la mayoría de teclados el doble o triple de caros. En versión
española lo he llegado a ver por 11€. Para usarlo con emuladores es joconudo.


la verdad es que el teclado de gomás es un "placer culpable", pero no hay ningún inconveniente en que pueda conectar y usar a la vez mi teclado PS/2

Imagen

Y estas son las pruebas que le hice en su día: http://www.zxuno.com/forum/viewtopic.ph ... =190#p9032
Adjuntos
ZX GO+ Trasera.jpg
(2 MiB) No descargado aún
Teclado ZX-Uno PS2.jpg
(2.45 MiB) No descargado aún

Xtro
Mensajes: 24
Registrado: 22 Ene 2018 20:26
Agradecido : 1 vez
Agradecimiento recibido: 4 veces

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

Mensajepor Xtro » 18 Ago 2019 23:12

Ya he probado la demo Paralactika y funciona bien en la MiSTer, pero solo con los timmings del Pentagon, si los pongo en 128K da glitches gráficos. Entiendo por que es complicada de correr esta demo, aquí le sacan el 120% al Spectrum.

Avatar de Usuario
kikems
Mensajes: 3407
Registrado: 30 May 2013 19:23
Agradecido : 989 veces
Agradecimiento recibido: 1358 veces

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

Mensajepor kikems » 18 Ago 2019 23:18

Me gusta esa integración en la carcasa del zx

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

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

Mensajepor zx81 » 18 Ago 2019 23:38

Xtro escribió:Ya he probado la demo Paralactika y funciona bien en la MiSTer, pero solo con los timmings del Pentagon, si los pongo en 128K da glitches gráficos. Entiendo por que es complicada de correr esta demo, aquí le sacan el 120% al Spectrum.


Ya dije que esa demo era muy p*t*, pero mucho. Exige precisión por debajo de 4 ciclos de reloj. Cada ciclo de reloj del 128k está usado como si fueran dos, es increíble.

Imagina que llevas meses peleando con el emulador y, cuando piensas que "ya lo tengo dominao" vas y te encuentras con ESO... te aseguro que es demoledor. Por eso estoy tan satisfecho de que hasta mi emulador Java es capaz de ejecutarla bien. -grin

En modo Pentagon es más fácil porque, si no me equivoco, no tiene contención de RAM y el borde cambia de color a nivel ciclo de reloj, no como el Spectrum que solo cambia a tamaño carácter.

Pero es que no solo es esa demo. Por ejemplo, la música del Tarzán de Martech, juego que diría se público sin acabar, suena a su velocidad adecuada en el 128k, pero acelerada en un +2a, porque reside en un banco de RAM contenido en uno y no contenido en otro. Y, por contra, el Robocop 3 en su primera fase hace scroll a izquierda o derecha. En el +2a el scroll es perfecto, pero en el 128k se ve la parte de abajo de los edificios como partida, como si el scroll se hiciera en dos partes, y no es así. Simplemente, es que el 128k tiene un patrón de contención en accesos a RAM e I/O y el +2a tiene un patrón distinto y solo en RAM. Según me explicó mcleod_ideafix, solo aplicaba contención a las páginas de pantalla, la 5 y la 7, de modo que en los dos modelos el funcionamiento es poco ajustado a la realidad.

Uno se puede conformar con eso y con menos, lo metes en una carcasa mona y que de el pego y a pasarlo bien. Pero para ese viaje, no hacen falta tamañas alforjas. Huelga decir, que esa es solo mi opinión y que no estoy en posesión de la verdad. Mi obsesión es la precisión, por eso lo veo así, aunque frecuentemente sea una obsesión absurda, como supongo son todas las obsesiones.
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

Xtro
Mensajes: 24
Registrado: 22 Ene 2018 20:26
Agradecido : 1 vez
Agradecimiento recibido: 4 veces

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

Mensajepor Xtro » 19 Ago 2019 00:00

@zx81 me parece perfecto tu planteamiento, de hecho estoy totalmente de acuerdo en que puestos a hacer algo que recree una máquina original, ya sea mediante emulación o fpga, la precisión debería ser de lo más importante. Pero seguramente cuando se llega a un 99% de precisión, el esfuerzo que supone completar ese 1% restante no compensa a muchos programadores y prefieren centrarse en otros aspectos más fácilmente identificables por el usuario común.

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

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

Mensajepor zx81 » 19 Ago 2019 00:03

@Xtro

Correcto, con la puntualización de que no hay nada en FPGA que se acerque ni al 90%. Lamentablemente.
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

Xtro
Mensajes: 24
Registrado: 22 Ene 2018 20:26
Agradecido : 1 vez
Agradecimiento recibido: 4 veces

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

Mensajepor Xtro » 19 Ago 2019 00:26

@zx81
Supongo que te refieres a la implementación del Spectrum, hay cores de Megadrive o Super Nintendo en FPGA que están por delante de la mayoría de emuladores, lo corren todo perfectamente, incluso demos que se atragantan al emulador. Creo que estaremos de acuerdo que una Megadrive o una Super Nintendo son bastante más complejos que un Spectrum, por lo tanto no achaco a la FPGA el problema si no a la implementación del core. Si bien puede que en algunos casos por divisores de frecuencias, ancho de banda, etc. una FPGA no pueda implementar un core tan correctamente como un emulador.
Pienso que desarrolladores en FPGA haciendo cores de máquinas clásicas, no hay ni un 1% de los que hay programando emuladores, y eso es lógico que se tenga que notar. Mismo para la MiSTer hay 4 desarrolladores que hacen todos los cores. ¿Cuantos emuladores de Spectrum hay? A que los hay precisos y otros que están rotos directamente, pues eso, no solo están las herramientas, las manos de quien las utiliza son fundamentales.

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

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

Mensajepor zx81 » 19 Ago 2019 00:40

Sí, siempre hablo del Spectrum. Pero si como dices, hay implementaciones de Megadrive perfectas que lo corren todo (paradójico, pues una MD también lleva un Z80 como CPU secundaria) entonces los Spectrumeros tenemos muy mala suerte.

Lo de que hay menos desarrolladores ya lo hemos comentado en este mismo hilo. La barrera de entrada a las FPGA es elevadísima, ningún aficionado puede ponerse a ello sin más. Confiemos en que solo sea cuestión de tiempo.
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
frankrodiii
Mensajes: 140
Registrado: 26 May 2019 14:46
Agradecido : 4 veces
Agradecimiento recibido: 32 veces
Contactar:

Después de lo que he visto, cómo veo esto.

Mensajepor frankrodiii » 19 Ago 2019 04:14

Yo veo la FPGA como un pequeño ordenador especializado en imitar otros sistemas con más precisión.
-m4c SE/30
Nunca pierdas tu resource fork.

Avatar de Usuario
kikems
Mensajes: 3407
Registrado: 30 May 2013 19:23
Agradecido : 989 veces
Agradecimiento recibido: 1358 veces

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

Mensajepor kikems » 19 Ago 2019 09:17

Puede q la difeeencia de compatibilidad entre las fpga de megadrive y similares vs 8 bits computers sea debido a que en las consolas no se usaban trucos “no autorizados” había que usar , generalmente los kit de desarrollo oficiales, y en los ordenadores de 8 bit cada desarrollador hacía lo que quería y muchas veces aprovechaban alguna instrucción no documentada y trucos “no autorizados”.

Xtro
Mensajes: 24
Registrado: 22 Ene 2018 20:26
Agradecido : 1 vez
Agradecimiento recibido: 4 veces

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

Mensajepor Xtro » 19 Ago 2019 10:28

kikems escribió:Puede q la difeeencia de compatibilidad entre las fpga de megadrive y similares vs 8 bits computers sea debido a que en las consolas no se usaban trucos “no autorizados” había que usar , generalmente los kit de desarrollo oficiales, y en los ordenadores de 8 bit cada desarrollador hacía lo que quería y muchas veces aprovechaban alguna instrucción no documentada y trucos “no autorizados”.

En Megadrive el Z80 solo se usaba para controlar el sonido, por lo tanto el uso que se le da a esta CPU no es tan acusado como en el Spectrum, que el Z80 lo hacía prácticamente todo. Pasa lo mismo con el core del Minimig, como el Amiga se apoyaba en los custom chips para todo, si estos los tienes bien implementados no es tan importante que la CPU 68000 sea exacta al ciclo. Además en el Amiga hubo distintos modelos con diferentes 68k a diferentes velocidades, los programadores tuvieron en cuenta esto. Curiosamente el Atari ST que es más "simple" que el Amiga está siendo mucho más complicado de implementar en FPGA ya que hasta hace poco no había implementación del 68000 exacta al ciclo, y en ST se jugó mucho con los timmings del 68000.
Que hoy en día no haya una implementación exacta a la máquina original, no quiere decir que no la haya en un futuro, bien por limitaciones técnicas de las FPGAs actuales, o bien porque un desarrollador no haya decidido todavía ponerse a trabajar en la implementación perfecta. Lo mismo pasó en su día con la emulación, primero se sacaban emuladores para ejecutar el software y ahora se busca la fidelidad absoluta. Creo que ambas cosas son complementarias y seguir la evolución de esto será interesante. Espero que nuevos programadores se unan a la moda de las FPGA, y que incluso haya un "pique" sano entre ellos para mejorar implementaciones.

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

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

Mensajepor zx81 » 19 Ago 2019 10:54

Luego es fácil concluir que con las FPGA tenemos sofisticados emuladores que solo sirven para jugar razonablemente pero no para preservar, un poco como pasaba con los emuladores software hace más de 20 años (allá por el 95 ya trasteaba yo con los fuentes del malogrado XZX).

Conforme las FPGA vayan siendo mayores y más baratas, podrán ir mejorándose las implementaciones, es decir, quizá nos faltan 10 años para tener algo definitivo. Solo temo que el razonamiento tenga un fallo de base importante: mayores y más complejas FPGA hará que sean necesarios programadores más especializados ya que serán más complejas de programar. No creo que podamos esperar hordas de programadores en el futuro como pasa con el software, donde ya hay emuladores desarrollados en cualquier lenguaje imaginable.
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
Sinclair
Mensajes: 296
Registrado: 22 Jul 2013 10:43
Agradecido : 33 veces
Agradecimiento recibido: 29 veces

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

Mensajepor Sinclair » 19 Ago 2019 12:01

Yo creo que el error es esperar un clon perfecto de maquina tanto en emulación software como en reimplementación FPGA.

Es un error por lo tanto pretender emular algo obsevando el comportamiento de una emulación o reimplementación porque los fallos de estas van a ser copiados tambien.

Básicamente estos sitemas auxiliares fueron concevidos, no para sustituir, sino para satisfacer las necesidades de usuarios de máquinas reales sin tener que depender de ellas y por esto tambien, esperar que sean una copia 1:1 es un error.

Tanto en emulación como en reimplementación de sistemas retro siempre se van a encontrar pequeños fallos, algunos de ellos insalvables pero imperceptibles para la mayoría, es con lo que hay que saber convivir y el desarrollador que consiga algún día superarlos y hacer una replica excata, oje sus cojx...
© 1982 Sinclair Research Ltd

DRomero
Mensajes: 161
Registrado: 06 May 2011 22:47
Agradecido : 1 vez
Agradecimiento recibido: 10 veces

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

Mensajepor DRomero » 19 Ago 2019 15:54

¿Alguien tiene o ha probado la Mega Sg?

Particularmente, esta implementación en FPGA de la Megadrive es 99% perfecta.

Es la hostia hablando mal y pronto, sencillamente perfecta, mejor que cualquier emulador.

Felices vacaciones!!

Xtro
Mensajes: 24
Registrado: 22 Ene 2018 20:26
Agradecido : 1 vez
Agradecimiento recibido: 4 veces

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

Mensajepor Xtro » 19 Ago 2019 16:46

DRomero escribió:¿Alguien tiene o ha probado la Mega Sg?

Particularmente, esta implementación en FPGA de la Megadrive es 99% perfecta.

Es la hostia hablando mal y pronto, sencillamente perfecta, mejor que cualquier emulador.

Felices vacaciones!!

Yo tengo una MiSTer que tiene una implementación también muy buena de la Megadrive, te adjunto una rom para testear la fidelidad del VDP de la Megadrive. Si puedes ejecutarla en la Mega SG podemos medir la fidelidad de la implementacion. Cuando cargue la rom pulsas el botón A y te dará un resultado, por ejemplo en MiSTer pasa 114 de los 122 tests, hay 8 que no pasa. El emulador BlastEm que es el más preciso pasa los 122 test y el emulador Kega Fusion que fue la referencia durante muchos años, solo pasa 17 de los 122, fallando en 105 de ellos.
También hay una demo que ha sido muy dificil de correr en emulador y en FPGA que es la Titan Overdrive 2, si puedes probarla te harás una idea de la calidad de la implementación de la Mega SG.
Tengo mucha curiosidad por ver como se comporta el core de Kevtris (el de la Mega SG) contra el de MiSTer (código abierto).

EDIT: He probado el ultimo core de Megadrive en la MiST y pasa 121 tests de los 122, por lo tanto está a nada de ser perfecto.
Adjuntos
VDPFIFOTesting.zip
(12.81 KiB) Descargado 6 veces

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

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

Mensajepor zx81 » 19 Ago 2019 16:49

Tiene pintaza esa consola, pero es cara (consola + dos mandos=240€).

Aún así, muchas consolas tienes que vender para pagar las horas de ingeniería que lleva eso.
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


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 2 invitados