MiSTer FPGA: Plataforma que implementa Consolas clásicas, microordenadores y arcades

Al Bundy escribió:
stormlord escribió:
jimi escribió:La placa FPGA (DE10-Nano) vale menos de 200€ aun a dia de hoy (despues de 2 subidas), si la quieres con un monton de placas accesorias, con pantallitas, que te la monten, que te la manden a casa, que os den una carcasa chula y de paso que te hagan una felacion pues tampoco es caro ni por 500€ (y creo que ni los bundles con 20 accesarios andan por ese precio aun con las subidas XD).

Si te parece mucho por bastante menos de 300€ te la montas si quieres y puedes jugar a todo lo que hay sin problema que la sdram de 128 esta a 50€ (o menos incluso en aliexpress y porque ahora cobran el iva que sino y subio algo), un hub con OTG que seran 10€ en amazon (o 5€ en aliexpress xD) y listo.

En fin, es que seguimos con lo de siempre.

Ok, me sigue pareciendo caro para lo poco que me aporta, seguiré esperando..

Para emular no tengo problema con RetroArch en el PC, y como yo no me llevo las consolas a ningún lado, no me molesta donde están a pesar de no poderlas tener todas fuera, las voy rotando cada cierto tiempo.

Hodor escribió:
La DE10 Nano, que es la FPGA en sí, no vale 500€ sino aprox. menos de la mitad tras la subida de precio. A mí en mayo del pasado año me costó 145€ puesta en casa y había estado previamente más barata.

Un saludo.

Seguiré esperando, algún día compraré alguna (es el futuro de la emulación) pero no sé cuando, igual nunca lo hago, no lo sé, pueden pasar muchas cosas, hasta incluso abandonar el hobby o morirme antes.


¿Por qué escribes todos los mensajes con la única finalidad de repetir insistentemente que las implementaciones fpga de hardware son emulación? [maszz]

No tengo ninguna intención de insistir, es sólo una simple palabra que describe lo que hacemos en el fondo con una FPGA, o con un emulador, o con un clon.

Yo digo emulación porque lo de implementación no me gusta, no me resulta completamente acertado ya que la emulación siempre lleva implícita la implementación, al revés no siempre sucede y no especifica realmente su cometido. Si crees que lo digo para liarla a cada rato te equivocas, tampoco soy el único que lo dice, incluso los propios desarrolladores.

Si os molesta, simplemente con cambiar mentalmente por implementación se soluciona, no hay ningún problema.

Gynoug escribió:En lo que es el concepto no va tan desencaminado, es emulación por hardware (no por software), otra cosa es que quiera equiparar ambas, que no lo sé, pero los core de systemas cerrados implementados en chips FPGA lo que hacen es EMULAR hardware a nivel del propio hardware.

No quiero equipararlas.

Tienes un mp, paso de explicarme más públicamente.
Gynoug escribió:
Al Bundy escribió:
stormlord escribió:Ok, me sigue pareciendo caro para lo poco que me aporta, seguiré esperando..

Para emular no tengo problema con RetroArch en el PC, y como yo no me llevo las consolas a ningún lado, no me molesta donde están a pesar de no poderlas tener todas fuera, las voy rotando cada cierto tiempo.


Seguiré esperando, algún día compraré alguna (es el futuro de la emulación) pero no sé cuando, igual nunca lo hago, no lo sé, pueden pasar muchas cosas, hasta incluso abandonar el hobby o morirme antes.


¿Por qué escribes todos los mensajes con la única finalidad de repetir insistentemente que las implementaciones fpga de hardware son emulación? [maszz]


En lo que es el concepto no va tan desencaminado, es emulación por hardware (no por software), otra cosa es que quiera equiparar ambas, que no lo sé, pero los core de systemas cerrados implementados en chips FPGA lo que hacen es EMULAR hardware a nivel del propio hardware.

Es lo mismo que considerar que es emulacion una nueva revision de hardware de una consola o dispositivo electronico (incluso con la FPGA podrias implementar las diferentes revisiones y ni llegarias a ese extremo, pero bueno tecnicamente son revisiones distintas salvo que implementes el hardware exactamente igual, que hay cores que lo hacen ya que se tuvo acceso a los esquematicos de todos los chips o se hizo decapado).

Yo eso no lo considero emulacion (sino seria considerar practicamente todo como emulacion tecnicamente hablando), para mi emulacion solo seria cuando hay que hacer adaptaciones en la propia ejecucion del software para que funcione en un hardware totalmente diferente al original.
Incluso seria mas emulacion una reimplementacion de una api en otro sistema como puede ser Wine (que para mi y creo que para la mayoria tampoco es emulacion y el propio nombre asi lo sugiere tambien xD). O si nos ponemos tontos llevamos en PC toda la vida emulando juegos, porque anda que no hay revisiones de hardware diferentes en el mundo del PC xD.

Eso no quiere decir que no puedas hacer un emulador en FPGA, por supuesto. Pero no es ni por asomo la norma.

Tecnicamente si llamamos emulacion a una implementacion FPGA del hardware de una consola solo porque ha venido despues (o porque las pistas en el PCB no son iguales), pues deberiamos llamar emulacion a las propias consolas, ya que en muchos casos los prototipados y primeras revisiones se hicieron antes en una FPGA y luego se diseñaron los PCB y se mandaron a fundir los ASICs de los chips custom para dar lugar a las primeras revisiones que llegaron al consumidor (e incluso antes de las primeras revisiones que llegaron al consumidor ya hubo revisiones de prueba y desarrollo asi que ni el propio consumidor llego a ver las primeras revisiones del hardware en cuestion xD).

No se lo veo un debate absurdo, en el que creo que nadie que sepa que es una FPGA jamas ha tenido la mas minima duda al respecto.
@jimi es que no hay debate, ni lloros. Un core implementado en una FPGA emula el comportamiento de unos chips, circuitería.... hardware. EMULA ese comportamiento, nada más. El término es correcto.
Qué no tiene nada que ver con un software que pretende emular lo mismo? Claro que no, pero el término es correcto.

@stormlord yo no pretendía decir que sí, solo que no estaba valorando tu mensaje. Le estaba contestando a jimi. Saludos.
Gynoug escribió:@jimi es que no hay debate, ni lloros. Un core implementado en una FPGA emula el comportamiento de unos chips, circuitería.... hardware. EMULA ese comportamiento, nada más. El término es correcto.
Qué no tiene nada que ver con un software que pretende emular lo mismo? Claro que no, pero el término es correcto.

@stormlord si yo pretendía decir que sí, solo que no lo valoro. Le estaba contestando a jimi. Saludos.

A ver, te lo explico mas claramente con un ejemplo.

Yo ahora hago un Pong en un PCB y estoy mas que seguro que jamas lo llamarias emulacion xD. Mientras que hago exactamente la misma implementacion en una FPGA y entonces si lo considerarias emulacion? xD.

Y te digo el Pong como te puedo decir cualquier circuito o aparato electronico digital que se me ocurra, vamos :P.

Yo es que tampoco es que me dedique a esto, pero joder cuando estudiaba hace años jamas en mi puta vida escuche a nadie la palabra emulacion en el mundillo de la electronica, daba igual que utilizasemos FPGAs, PLDs, PCBs o lo que nos viniese en gana xD.
@Gynoug , tú has sabido entender exactamente lo que quería decir [oki]
jimi escribió:Yo es que tampoco es que me dedique a esto, pero joder cuando estudiaba hace años jamas en mi puta vida escuche a nadie la palabra emulacion en el mundillo de la electronica, daba igual que utilizasemos FPGAs, PLDs, PCBs o lo que nos viniese en gana xD.

Es que absurdo, es como decir que una calculadora emula a cualquier otra.

Pero lo explicas tú mismo aquí:

jimi escribió:No se lo veo un debate absurdo, en el que creo que nadie que sepa que es una FPGA jamas ha tenido la mas minima duda al respecto.
jimi escribió:A ver, te lo explico mas claramente con un ejemplo.

Yo ahora hago un Pong en un PCB y estoy mas que seguro que jamas lo llamarias emulacion xD. Mientras que hago exactamente la misma implementacion en una FPGA y entonces si lo considerarias emulacion? xD.

Y te digo el Pong como te puedo decir cualquier circuito o aparato electronico digital que se me ocurra, vamos :P.

Yo es que tampoco es que me dedique a esto, pero joder cuando estudiaba hace años jamas en mi puta vida escuche a nadie la palabra emulacion en el mundillo de la electronica, daba igual que utilizasemos FPGAs, PLDs, PCBs o lo que nos viniese en gana xD.


No, es bien distinto, tú haces un Pong basado en el hardware que tú quieres, no en hardware cerrado que ha existido durante años. Si esa nueva versión de Pong que creas la haces pensando en CPS1 y tu juego, recién creado, funciona en el hardware original, entonces el core que has creado para que funcione tu Pong EMULA ese hardware.

Si te refieres a implementar la placa de X Pong, pues sí, se puede decir que estás emulando esa placa de 197X.

Emulación por hardware, eso es.

Lo que no comprendo es por qué molesta más allá del empeño de alguna gente en denostar el proceso o equipararlo a la emulación por software [hallow]

Lo mismo cuanto tú estudiabas el tema FPGA no era tan popular, el concepto ha evolucionado y se usan nomenglaturas que en X año no eran aceptadas. "Emulación por hardware" será válido para referirse a las FPGA siempre y cuando se utilice el término, y así es, gente directamente implicada en el proyecto MiSTer lo usa.
Gynoug escribió:
jimi escribió:A ver, te lo explico mas claramente con un ejemplo.

Yo ahora hago un Pong en un PCB y estoy mas que seguro que jamas lo llamarias emulacion xD. Mientras que hago exactamente la misma implementacion en una FPGA y entonces si lo considerarias emulacion? xD.

Y te digo el Pong como te puedo decir cualquier circuito o aparato electronico digital que se me ocurra, vamos :P.

Yo es que tampoco es que me dedique a esto, pero joder cuando estudiaba hace años jamas en mi puta vida escuche a nadie la palabra emulacion en el mundillo de la electronica, daba igual que utilizasemos FPGAs, PLDs, PCBs o lo que nos viniese en gana xD.


No, es bien distinto, tú haces un Pong basado en el hardware que tú quieres, no en hardware cerrado que ha existido durante años. Si esa nueva versión de Pong que creas la haces pensando en CPS1 y tu juego, recién creado, funciona en el hardware original, entonces el core que has creado para que funcione tu Pong EMULA ese hardware.

Emulación por hardware, eso es.

Lo que no comprendo es por qué molesta más allá del empeño de alguna gente en denostar el proceso o equipararlo a la emulación por software [hallow]

Pero entonces de que depende de si copio el pong de otra maquina o si es algo original?
O de que primero lo implemente en un PCB y luego en la FPGA (ya que si lo hiciese al reves ya cambiaria el concepto)?
O es simplemente porque utilizo una FPGA ya que si por ejemplo copio el Pong en otro PCB donde yo ruteo las pistas de otra manera entonces ya no seria emulador?

Joer hasta a copias se le llamo bootlegs o clones, pero en mi puta vida he visto llamar emuladores a eso.

Yo no tengo nada contra de la palabra emulacion, simplemente no le encuentro razon a pervertirla hasta el absurdo y llamar emulacion a todo xD.
Gynoug escribió:
jimi escribió:
Gynoug escribió:@jimi es que no hay debate, ni lloros. Un core implementado en una FPGA emula el comportamiento de unos chips, circuitería.... hardware. EMULA ese comportamiento, nada más. El término es correcto.
Qué no tiene nada que ver con un software que pretende emular lo mismo? Claro que no, pero el término es correcto.

@stormlord si yo pretendía decir que sí, solo que no lo valoro. Le estaba contestando a jimi. Saludos.

A ver, te lo explico mas claramente con un ejemplo.

Yo ahora hago un Pong en un PCB y estoy mas que seguro que jamas lo llamarias emulacion xD. Mientras que hago exactamente la misma implementacion en una FPGA y entonces si lo considerarias emulacion? xD.

Y te digo el Pong como te puedo decir cualquier circuito o aparato electronico digital que se me ocurra, vamos :P.

Yo es que tampoco es que me dedique a esto, pero joder cuando estudiaba hace años jamas en mi puta vida escuche a nadie la palabra emulacion en el mundillo de la electronica, daba igual que utilizasemos FPGAs, PLDs, PCBs o lo que nos viniese en gana xD.


No, es bien distinto, tú haces un Pong basado en el hardware que tú quieres, no en hardware cerrado que ha existido durante años. Sí esa nueva versión de Pong que creas la haces pensando en CPS1 y tu juego, recién creado, funciona en el hardware original, entonces el core que has creado para que funcione tu Pong EMULA ese hardware.

Emulación por hardware, eso es.

Lo que no comprendo es por qué molesta más allá del empeño de alguna gente en denostar el proceso o equiparlo a la emulación por software [hallow]

Gynoug, como quizá sin saberlo has caído en medio de un debate provocado por alguien que sólo busca la atención y a ti te considero un buen forero, te diré que realmente no van por ahí los tiros, y te explico un poco los motivos.

La implementación por FPGA y la emulación son dos cosas distintas y no tiene por qué ser una mejor que otra ni ofende su comparación, ni nada similar, de hecho, ya centrándonos en el mundo del videojuego, a día de hoy todavía casi todos los sistemas están mejor emulados que implementados. Sencillamente es llamar a una cosa lo que no es, nada más, como si yo digo que un helicóptero es un avión porque buscan el mismo objetivo de volar.

Tú probablemente estés pensando en una consola, con su carcasa y demás, y con todo eso unido razonas que se lleva del modo que sea a otra máquina, en este caso una FPGA, y ahí se "emula". El problema es que a bajo nivel eso no va así, lo que se hace es implementar las instrucciones de la circuitería a nivel lógico, o, en caso de desconocerlas, una equivalencia entre entradas, salidas y ciclos que le lleve. Pero eso no está definido por nada, puedes hacerlo de muchas maneras diferentes, del mismo modo que lo hizo AMD en su momento con el x86, o Intel a la inversa con el x86_64 y nadie le llamó nunca emulación a eso. En un emulador tú ya tienes un hardware, con sus instrucciones definidas, un SO y un comportamiento, y ahí lo que haces sí que es emular el comportamiento de algo que funciona de manera diferente de modo que adaptas sus instrucciones para que las entienda la máquina donde lo quieres ejecutar.

Es lo que dice jimi, igual el problema es pensar en una FPGA, pero se puede pensar en un circuito lógico, que quizá es más fácil de comprender, piensa que haces el circuito lógico del funcionamiento de una lavadora de balay, con sus 10 modos de funcionamiento (por decir algo), y ahora piensa que bosh también tiene otra con otros 10 modos de funcionamiento, esos circuitos lógicos van a ofrecer el mismo resultado, y casi seguro que los creadores ni se conozcan, ni conozcan el otro circuito, ¿uno emula al otro?. Los 7 segmentos suelen controlarse por circuitos, ¿los del ascensor de tu casa emulan los del ascensor de la casa de enfrente?.

Yo de verdad que intento entenderos, y sí que creo que quizá es difícil de entender, lo fácil es ver que se quiere llevar X a Y, pues entonces Y emula X, pero eso es simplista y no es lo correcto en este caso.
Baek escribió:Gynoug, como quizá sin saberlo has caído en medio de un debate provocado por alguien que sólo busca la atención y a ti te considero un buen forero, te diré que realmente no van por ahí los tiros, y te explico un poco los motivos.

Baek, no te pases, si el debate está en este hilo (si es que lo hay) no es por culpa mía, deja de echarme la culpa por todo, vamos a dejar la fiesta en paz, por favor.

Revisa los comentarios a ver quién me tiró piedras diciendo que voy por ahi insistiendo con la palabra emulación.

Ahora voy a tener la culpa de llamar a algo como a algunos no les gusta, directamente me estás quitando voz en el foro, y no pienso hablar mas del tema, pongamos fin a esto ya, que somos mayores.
@jimi ya jeje, pero no depende ni de ti ni de mi aceptarlo, si se usa por gente que está directamente involucrada en el proyecto MiSTer no queda otra. Guste o no. Otra cosa es que lo uses, y otra que corrijas a gente que intente equipararlo (con mejor o peor intención) con lo que hace un emulador de toda la vida.
Que el término confunde? Puede, pero fíjate que yo creo que se usa para todo lo contrario, para intentar explicárselo a bajo nivel al usuario que descubrió la emulación con una Raspberry Pi

@Baek no creo que haya debate a pesar de los ríos de tinta [carcajad]
Salud!
@Baek Te explicas mejor que yo la verdad xD.

@Gynoug No se si algun desarrollador lo utiliza en mister (dudo que la mayoria lo haga y menos en su dia a dia), otra cosa es que intenten explicarselo a gente fuera del mundillo y les intenten decir "pues mira funciona como un emulador" (ya que es lo que conocen fuera del mundo de las FPGA y es complicado explicarle a alguien lo que hace a muy alto nivel sin tocar como lo hace).
Pero vamos que tengo muchas dudas que la mayoria de devs lo hagan. Lo dicho llevo mas de 20 años llamando a las implementaciones FPGA, implementaciones ya me joderia que ahora desde hace 3 años porque se utilicen para implementar consolas u ordenadores tengamos que cambiarle el nombre y llamarle emulacion porque a gente que llega nueva les suena mas familiar ;) (yo seguire llamandolo por su nombre que tampoco es tan dificil xD).

Mirad os dejo una foto de cuando AMD "emulaba" a Intel (no es fake que ya os veo venir xD):
Imagen
las fpga se usan para recrear el hardware que estas diseñando. Las hay para diseñar hasta las gpu graficas.

yo estoy estudiando electronica y ahora estoy con la algebra de boole, o algebra booleana, que es como son las puertas logicas de los chips integrados.

hay dos maneras, ASIC, que son caras de conseguir, por eso decia antes que son carisimas y las fpga tipo la mister, que suelta es barata, pero le empiezas a añadir y se dispara. Tendrian que ponerlo a precios tipo rasberry pi. No todo el mundo puede pagar el precio de las fpga, cuando se le añaden modulos.

como hasta hace poco que he empezado y me voy enterando como son las fpga, no sabia que la que usa la mister fpga, es la Intel® Cyclone® V y esa fpga es muy versatil de programar si se sabe el hardware de origen para creear y meter el core. En la misma fpga se puede meter cpu, gpu, etc y despues los modulos como el de 128mb, para recrear y que vaya mejor algunos juegos, como el caso de los juegos de neo geo.

cuesta aprenderse las puertas logicas. Estoy con los tipos de puertas logicas ahora mismo y ya despues, pasaremos a las combinaciones entre ellas. Admiro a quienes estan consiguiendo recrear el hardware y meterlo en la mister. Estoy verde aun en mcuhas cosas, pero me voy enterando como va todo esto. La gente se queja lo que tardan en arreglars bugs, etc, pero no es tan facil.
@Baek @jimi o tú también si te animas @sev45lora decidme un término de dos palabras que le explique el funcionamiento de un un core implementado en una FPGA al tipo que descubrió la emulación con RetroArch. Un término de dos palabras que lo explique mejor que "hardware emulation". Ahí os lo dejo [fumando]
@sev45lora , la electrónica digital y microprogramable es muy interesante y entretenida. Cuando te lias a montar chips haciendo circuitos y llegando a los resultados esperados, es gratificante. Es una de las asignaturas más divertidas que he estudiado en mi vida.
Gynoug escribió:@Baek @jimi o tú también si te animas @sev45lora decidme un término de dos palabras que le explique el funcionamiento de un un core implementado en una FPGA al tipo que descubrió la emulación con RetroArch. Un término de dos palabras que lo explique mejor que "hardware emulation". Ahí os lo dejo [fumando]

Un tío que acaba de descubrir la emulación con Retroarch posiblemente ni siquiera entienda demasiado bien (ni le interese), lo que es emular. Y no sé por qué “hardware implementation” se debería entender peor.
Gynoug escribió:@Baek @jimi o tú también si te animas @sev45lora decidme un término de dos palabras que le explique el funcionamiento de un un core implementado en una FPGA al tipo que descubrió la emulación con RetroArch. Un término de dos palabras que lo explique mejor que "hardware emulation". Ahí os lo dejo [fumando]

Y si el core que implemento en la FPGA es un controlador para las luces de mi casa (o la camara de congelados de la carniceria), a que hardware emula? solo por curiosidad xD.

Creo que el problema es que algunos veis a las FPGAs como si naciesen hace 3 años y solo sirvieran para jugar a juegos. Que nosotros las utilicemos para eso, no quiere decir que no lleven con nosotros mas de 30 años y se utilicen para muchos fines, es mas el fin este que le estamos dando dudo que llegue al 0.0000000000000000001% del mercado xD.
@Baek hay que hacerselo fácil al usuario medio, cuántos más consuman MiSTer, cuanto más interés haya en nuevos Cores mejor para todos. De ahí que imagino es lo que los mueve a usar un término popular como emulación, que aunque haya quien lo denoste sigue teniendo mucha fuerza en el mundillo. Y yo, personalmente, lo veo completamente válido por la definición de "emular" según la RAE: Imitar las acciones de otro procurando igualarlas e incluso excederlas.
Yo además me muevo por la sabiduría del gran Don Artemio Urbina el cual dice que es una Implementación, y al mismo tiempo utiliza el término emulación
https://youtu.be/XhOiHrB7Dy4 ( a partir del 39:30)
[beer]

@jimi algunos lo que queremos es que el usuario medio lo entienda, nada más
@Gynoug , yo desde luego no creo que lo mejor para facilitar la comprensión de una cosa sea que se le asigne una definición que no le corresponde, pero bueno, si ese es tu planteamiento y lo único que buscas, al menos tiene un sentido.
Gynoug escribió:@Baek hay que hacerselo fácil al usuario medio, cuántos más consuman MiSTer, cuanto más interés haya en nuevos Cores mejor para todos. De ahí que imagino es lo que los mueve a usar un término popular como emulación, que aunque haya quien lo denoste sigue teniendo mucha fuerza en el mundillo. Y yo, personalmente, lo veo completamente válido por la definición de "emular" según la RAE: Imitar las acciones de otro procurando igualarlas e incluso excederlas.
Yo además me muevo por la sabiduría del gran Don Artemio Urbina
https://youtu.be/XhOiHrB7Dy4 ( a partir del 39:30)
[beer]

@jimi algunos lo que queremos es que el usuario medio lo entienda, nada más

Todos queremos que un usuario medio lo entienda, pero lo que no podemos es desvirtuar los conceptos y confundir mas a la gente de lo que de por si ya esta :P. Y, en mi opinion, llamar emulacion a una implementacion en FPGA lo hace.

Si nos basamos en definiciones de la RAE claro que podemos llamar emulacion a practicamente todo y no estariamos usando mal el termino. Pero, en mi opinion, no es nada bueno intentar llamar a muchas cosas diferentes con la misma palabra ya que genera ambiguedades y confusion. Si es posible, y no hay un termino que lo especifique mejor hasta soy partidario de crear uno nuevo y no reutilizar conceptos distintos. Pero en este caso hasta tenemos un termino que se lleva usando toda la vida asi que no se cual es el problema en utilizarlo y llamar a las cosas por su nombre :P.
Gynoug escribió:@Baek @jimi o tú también si te animas @sev45lora decidme un término de dos palabras que le explique el funcionamiento de un un core implementado en una FPGA al tipo que descubrió la emulación con RetroArch. Un término de dos palabras que lo explique mejor que "hardware emulation". Ahí os lo dejo [fumando]


las fpga es recrear las puertas logicas del hardware que se quiere recrear. Funciona como el 1:1 aproximadamente del hardware original, si se le mete al 100% en la forma que es al final. Se usa desde la decada de los 80-90 para no tener que fabricar y desechar hardware, generando mucho gasto.

n donde lo estamos haciendo para aprender, se usara la placa fpga alhambra II, porque despues saltaremos a arduino y entre las dos son compatibles.

por software, por lo que tengo entendido, como donde se quiere usar, no es el mismo que el original y no se puede recrear como el original, como en una fpga y muchas veces va con un software de por medio, para que haga el puente entre hardware emulado y que el que se usa para emular, es diferente, requiere mas potencia de la que hace falta.

por eso dicen que cuando se emula una consola, hace dos-tres, o cuatro veces la potencia del hardware original, porque originalmente no lo puede emular 1:1. Supuestamente la ps4 es casi parecido a como es un pc y no es tan complicado como en ps2-ps3 o la 360 y hara falta un pc potente si, pero de los que seran de dos años o tres maximo para aca de recomendado
sev45lora escribió:
Gynoug escribió:@Baek @jimi o tú también si te animas @sev45lora decidme un término de dos palabras que le explique el funcionamiento de un un core implementado en una FPGA al tipo que descubrió la emulación con RetroArch. Un término de dos palabras que lo explique mejor que "hardware emulation". Ahí os lo dejo [fumando]


las fpga es recrear las puertas logicas del hardware que se quiere recrear. Funciona como el 1:1 aproximadamente del hardware original, si se le mete al 100% en la forma que es al final. Se usa desde la decada de los 80-90 para no tener que fabricar y desechar hardware, generando mucho gasto.

n donde lo estamos haciendo para aprender, se usara la placa fpga alhambra II, porque despues saltaremos a arduino y entre las dos son compatibles.

por software, por lo que tengo entendido, como donde se quiere usar, no es el mismo que el original y no se puede recrear como el original, como en una fpga y muchas veces va con un software de por medio, para que haga el puente entre hardware emulado y que el que se usa para emular, es diferente, requiere mas potencia de la que hace falta.

por eso dicen que cuando se emula una consola, hace dos-tres, o cuatro veces la potencia del hardware original, porque originalmente no lo puede emular 1:1. Supuestamente la ps4 es casi parecido a como es un pc y no es tan complicado como en ps2-ps3 o la 360 y hara falta un pc potente si, pero de los que seran de dos años o tres maximo para aca de recomendado

Ok, pero si eso es lo que entiendes por término de dos palabras y es lo que le vas a contar a alguien para comprarse una MiSTer ESTAMOS JODIDOS [jaja]
Por cierto, mucho éxito con esas implementaciones en la carrera.
Salud!
sev45lora escribió:[...por eso dicen que cuando se emula una consola, hace dos-tres, o cuatro veces la potencia del hardware original, porque originalmente no lo puede emular 1:1...

Yo incluso diría 10 veces la potencia.
fpga es 1:1 la emulacion o simulacion.

por software segun el hardware a emular y segun lo complicado que sea su estructura, mas o menos potencia necesita.
sev45lora escribió:fpga es 1:1 la emulacion o simulacion.

Kebab.
jimi escribió:
Gynoug escribió:@Baek @jimi o tú también si te animas @sev45lora decidme un término de dos palabras que le explique el funcionamiento de un un core implementado en una FPGA al tipo que descubrió la emulación con RetroArch. Un término de dos palabras que lo explique mejor que "hardware emulation". Ahí os lo dejo [fumando]

Y si el core que implemento en la FPGA es un controlador para las luces de mi casa (o la camara de congelados de la carniceria), a que hardware emula? solo por curiosidad xD.
.


Creo que con esto has dado en el clavo, en ese caso si que seria solo implementación, por que no "emula" ninguna otra cosa, pero cuando se usa para "emular" otro hardware no veo por que seria incorrecto llamarlo emulación (mas allá de los que se empeñan en guardar distancia con la emulación tradicional por software)
nunca he programado fpgas.Unas preguntas:
-como fijas la frecuencia de la cpu?
-se utiliza parte de la propia ram,de la mister,como si fuera la del dispositivo a programar?y si es así como se fija su velocidad?
-En cuanto al sonido,como se ajustan los filtros o ecualización,para que suene igual que el dispositivo a programar?
-la frecuencia de salida de video?
@kikex-box Entonces tendriamos que llamar emulacion tanto al core que implementa un arcade tal cual, como al core que implementa un emulador de un arcade (lo que seria un absurdo y llevaria a confusion). Y te lo comento porque la FPGA permite implementar cualquier hardware, nada impide implementar un hardware diferente al target y luego emular el software en el ;).

Yo creo que lleva a mas confusion el no llamar las cosas por su nombre que otra cosa.

mcfly escribió:nunca he programado fpgas.Unas preguntas:
-como fijas la frecuencia de la cpu?
-se utiliza parte de la propia ram,de la mister,como si fuera la del dispositivo a programar?y si es así como se fija su velocidad?
-En cuanto al sonido,como se ajustan los filtros o ecualización,para que suene igual que el dispositivo a programar?
-la frecuencia de salida de video?

1.- Pues igual que en un hardware original, va a haber una linea de reloj que llegara al circuito que implementa la CPU en cuestion y segun la frecuencia de reloj de esa linea pues sera la frecuencia de la cpu. Normalmente esa frecuencia puedes cogerla directamente de un pin externo de la FPGA y habra un reloj de cuarzo en el PCB de la FPGA que genere esa frecuencia (normalmente tienes 2 o 3 para elegir), o puedes cogerla y luego pasarla a traves de un circuito divisor de frecuencia (si es una division exacta), y si ninguno de esos metodos te sirve (ya que no es multiplo exacto de los relojes base que tienes), entonces usarias un PLL (en el caso de las altera por ejemplo) para generar el reloj exacto que necesitas. Incluso si quisieras nada te impide añadir tu propio circuito oscilador a la placa por cualquier patilla de la FPGA y que la FPGA tome el reloj de ahi.

2.- No tiene nada que ver. Para "programar" la FPGA normalmente se le envia un bitstream de datos al chip FPGA y entonces se reconfigura al vuelo (no va a ninguna ram en particular, salvo la propia memoria interna que usa para configurar las celdas), esto habria que hacerlo todas las veces que enciendas la FPGA (lo que no tendria mucho sentido en la mayoria de los casos), aunque lo normal es que en el PCB del circuito ademas del chip FPGA se añada justo al lado otro chip de memoria no volatil donde grabarias el bitstream y entonces cada vez que se encienda la FPGA leeria el bitstream de esa memoria y se reprogramaria. En el caso de la MiSTer es un poco diferente, el propio SoC FPGA no solo es una FPGA, sino que lleva un procesador ARM lo cual permite ejecutar un linux como puede ser en cualquier sistema embedido (como una raspberry para que nos entendamos), luego desde el propio linux se reprograma la FPGA a gusto (vamos cada vez que cargamos lo que llamamos un core).
Luego fuera de la programacion de la FPGA, tenemos en el caso de la DE10-Nano una memoria DDR3 en el PCB, que no se exactamente si la FPGA esta conectada a la DDR3 o no (no lo he mirado xD), pero aunque estuviesen tanto el ARM como la FPGA conectadas, habria que mapear la memoria para que no usen el mismo espacio a la vez, y el ARM necesita ram para correr el linux y el proceso que hace de interfaz con la FPGA (para enviarle los inputs de los mandos, para enviar/recibir las configuraciones y valores del OSD, etc). Ademas la memoria DDR es una memoria que funciona a base de bursts, es mas lenta en una operacion simple de lectua/escritura, pero es mas rapida en enviar muchos datos (ya que los envias de golpe). Con lo que lo normal fue añadirle una memoria SDRAM utilizando algunos de los propios pines de la FPGA, asi la FPGA tienes esa memoria en exclusiva para ella y encima es una memoria mucho mas rapida en latencia para las operaciones simples (que era como funcionaban practicamente todos los sistemas retros de la epoca).
La velocidad de la SDRAM la fijas igual que la CPU (o cualquier chip vamos, si es que todo funciona igual), te basas en una linea de reloj y haces las operaciones en sincronismo con ese reloj. Obviamente si te pasas y haces operaciones a demasiada velocidad y no le da tiempo a llegar a todos los datos al destino (falta alguno por ejemplo), entonces tendrias corrupcion y leerias (o escribirias) mal los datos. Pero vamos en general si la placa SDRAM usa chips buenos, esta bien soldada, y las pistas no estan demasiado mal ruteadas suelen aguantar mas de 100MHz perfectamente y creo que ningun core usa esas velocidades actualmente :P.

3.- Para el sonido, en el caso que estamos hablando de sistemas retro, se implementan en la FPGA los chips originales que llevaban esos sistemas, que dependiendo de cada uno pues lleva 1 o multiples, o son sintetizadores FM, son chips PCM, o son simples chips PGM, hay de todo (depende del sistema y jotego implemento la mayoria de los conocidos). Pero claro, aunque uses una implementacion de un chip de sonido bien hecha luego tambien tienes otras cosas que habria que medir, por ejemplo si hay multiples chips y luego tu haces una mezcla del sonido pues hay que elegir que balance vas a usar (a lo mejor te interesa que suene mas fuerte uno que otro, con lo que habria que medir el original para poner el mismo balance, o podrias poner un selector y que el usuario elija que balance prefiere). Y no solo eso, luego podrias usar filtros y aqui viene lo complicado de todo el asunto, porque el sonido desde que esta generado es algo analogico y los filtros en su epoca eran muchos analogicos creo (aqui ya desconozco asi que dejarme algo de margen). Con los filtrados digitales no hay problema ya que los implementas tal cual y listo, mientras que con los analogicos tendrias que emularlos en un circuito digital (ves esto si seria emulacion). Pero tampoco se que tipo de filtros usaban, ni si eran analogicos o digitales. Pero es que con el tema analogico tocamos un problema gordo y es que es muy muy complicado replicar algo analogico ya que ni siqueira dos filtros originales del mismo sistema y usando los mismos componentes van a filtrar exactamente igual, porque ni 2 condensadores son exactamente iguales aunque tengan la misma especificacion, ni nada. De hecho, es mucho mas probable que midiendo multiples filtros y sabiendo que tipo de filtrado hacen, se pueda conseguir un filtrado mejor (o diversos perfiles de filtrado) de manera digital que usando componentes analogicos como orginalmente (aun asi si se hace eso, entonces esa parte si seria emulada). Pero bueno como ya comente desconozco mucho que filtros llevaban los sistemas originales o si esto es realmente asi, es mas un "me lo imagino" que un "es asi", supongo que si alguien controla mas del tema lo podra aclarar mejor. El tema del sonido es algo mas complejo de lo que parece, aunque tenemos la suerte de tener a jotego que hizo la mayoria y tiene muchisima experiencia (de su trabajo real).

4.- La frecuencia de salida de video depende del sistema a implementar, ya que cada uno tenia su sistema de generacion de video con sus timings especificos, en la FPGA se reproduce tal cual (si asi lo deseas), con lo que tendras la salida que originalmente sacaba ese sistema. Esto obviamente puede ser un problema, ya que si tu CRT no soporta esos rangos de salida, o utilizas un HDMI (que aqui casi 100% seguro no te los va soportar), entonces hay que adaptarlo. Por eso puedes hacer scandoubling (para aumentar las lineas de salida y que los HDMI sobretodo no se vuelvan locos), o puedes ajustar la frecuencia de refresco a unos 60Hz exactos, y un monton de cosas. Esto todo es configurable en MiSTer y lo puedes ver brevemente en el OSD al cargar cada core (tanto la frecuencia y resolucion que saca el core, como la frecuencia y resolucion a la que adapta la MiSTer, que puede ser la misma si asi lo deseas y tienes un mointor que la soporte claro).

Espero que resolviese algunas dudas, hay muchas cosas que desconozco ya que no me dedico a esto, ni tampoco se exactamente como funcionan algunas cosas en MiSTer porque tampoco he tenido tiempo o curiosidad por mirarlo. No es facil tampoco de explicar sin ahondar demasiado en las cosas xD.
Lleva más a confusión, e incluso a ocultar, llamar a la emulación simplemente implementación.

Es que estamos hablando de videojuegos y en este caso con las FPGAs no estamos creando nada nuevo, nada propio, sino sistemas que ya existen considerados como originales (con razones de peso) con nuestro propio esquema (o parte), eso inevitablemente es emulación.

Decir que es implementación no es incorrecto, hasta lo podríamos usar para la emulación software, pero no es tan completo, es más correcto decir emulación (o hasta emulación implementada si os parece mejor) porque este concepto abarca más la naturaleza de estas implementaciones.

En resumen, cuando hablamos de emulación, hablamos también de implementación, pero no al revés, no siempre se da, y no se da en los casos en los que no recreamos algo ya existente cosiderado como versión original, como acabo de decir. Esto es un matiz muy relevante para entenderlo.

Este debate es una gilipollez realmente, es simplemente una discusión por el significado real de las palabras y de nuestros actos, nada más. ¿Qué más da cómo funcione una FPGA si lo que estamos haciendo es lo que acabo de decir? Dejémonos de ir por las ramas del conocimiento tecnológico, es un error discutir algo tan simple con los estudios y cocimientos que tengamos sobre las FPGAs, no tiene sentido.

Qué rabia me da que no se entienda, de verdad, porque más claro no lo puedo decir.

Buen día.
Sin ser un experto en temas FPGA, como parece ser para algunos a tenor de los últimos comentarios (que agradezco: siempre es bueno aprende algo nuevo), si puedo decir que como usuario tengo experiencia en el uso de diferentes sistemas: originales, emulados y FPGA. Y, para poner un ejemplo que pueda entender alguien que no haya tenido aun experiencia con sistemas FPGA, para mi es como cuando ves una película con mal CGI. No malo malo, que canta a la vista los errores, sino cuando intentan hacer buen CGI pero meten la pata en detalles que ni eres consciente de apreciar qué está mal pero sabes que algo no cuadra. Nuestro cerebro está tan bien entrenado que es capaz de apreciar que algo no está bien incluso cuando no somos capaces de verbalizar lo que falla. Eso me pasa cuando juego a sistemas emulados después de haber jugado mucho en sistemas originales: sabes que algo falla. A veces es fácil detectarlo, otras no tanto pq las diferencias son sutiles. Cuando uso un sistema FPGA siento que todo es mucho mas robusto, que todo encaja como debe ser. Esto es mucho mas potente si conectar el sistema a TV CRT: ahí la fidelidad que se obtiene es asombrosa. He jugado a una RGB-PI conectada una Sega Blast City y siendo una magnífica experiencia, FPGA esta un paso por encima y mas cercano a lo la experiencia de juego en hardware original. Para mi la emulación actualmente tiene una importante función para test y por preservación. Pero para jugar me quedo con FPGA de largo.
SKyo escribió:Sin ser un experto en temas FPGA, como parece ser para algunos a tenor de los últimos comentarios (que agradezco: siempre es bueno aprende algo nuevo), si puedo decir que como usuario tengo experiencia en el uso de diferentes sistemas: originales, emulados y FPGA. Y, para poner un ejemplo que pueda entender alguien que no haya tenido aun experiencia con sistemas FPGA, para mi es como cuando ves una película con mal CGI. No malo malo, que canta a la vista los errores, sino cuando intentan hacer buen CGI pero meten la pata en detalles que ni eres consciente de apreciar qué está mal pero sabes que algo no cuadra. Nuestro cerebro está tan bien entrenado que es capaz de apreciar que algo no está bien incluso cuando no somos capaces de verbalizar lo que falla. Eso me pasa cuando juego a sistemas emulados después de haber jugado mucho en sistemas originales: sabes que algo falla. A veces es fácil detectarlo, otras no tanto pq las diferencias son sutiles. Cuando uso un sistema FPGA siento que todo es mucho mas robusto, que todo encaja como debe ser. Esto es mucho mas potente si conectar el sistema a TV CRT: ahí la fidelidad que se obtiene es asombrosa. He jugado a una RGB-PI conectada una Bast City y siendo una magnífica experiencia, FPGA esta un paso por encima y mas cercano a lo la experiencia de juego en hardware original. Para mi la emulación actualmente tiene una importante función para test y por preservación. Pero para jugar me quedo con FPGA de largo.

Entiendo lo que dices, FPGA es la evolución a seguir indudablemente, la sensación de tener el propio sistema es más cercana que con un emulador software, es correcto, ¿pero si con software fuera igual, si fuera tan perfecto que llega a ser 1:1, tendríamos que llamarlo simplemente implementación aún sabiendo que lo que hay detrás es una configuración del sistema diferente al original?

Emulación con FPGA y emulación por software pueden llegar a ser 1:1 teóricamente si nos lo curramos bien con nuestros propios medios (siempre que no calquemos los esquemas originales, que entonces no existiría emulación).

Ahora lanzo otra pregunta para quien me la pueda responder, ¿qué consolas existen actualmente implementadas 1:1 en FPGA? 1:1 es 1:1, replicando exactamente los chips que hay en las consolas originales, sin cambiar ni una puerta lógica. En esos casos me callo, y podré decir simplemente implementación, en caso contrario lo seguiré llamando emulación.

Por más que digo que no voy a participar más, siempre caigo xD
@stormlord Mira si lleva a confusion, que mucha de esta confusion que teneis mucho con como funcionan las FPGA es porque os empeñais en llamarlo emulacion y os parece que es como un emulador (por el simple hecho de que os permite ejecutar juegos de otros sistemas muy antiguos y llevais 2 decadas usando emuladores, asi que se si hace algo parecido pues es emulador xD).

Yo tengo muy claro lo que es emulacion y lo que no lo es, y llamar a esto emulacion implicaria llamar emulacion a practicamente todo lo que encima generaria aun mas confusion xD.

Un ejemplo para quede mas que claro, si nintendo (o una third party ya que es indiferente):
1.- Saca un PCB con 30 chips originales o compatibles que sea un clon tal cual de una SNES.
2.- Saca un PCB con 1 chip custom (SoC/ASIC) que sea un clon tal cual de una SNES.
3.- Saca un PCB con 1 chip FPGA que sea un clon tal cual de una SNES.
4.- Saca un PCB con un ARM donde ejecuta un emulador de SNES (vamos la SNES Mini por ejemplo).

Para mi los casos 1 a 3 son revisiones de una SNES (o si te pones tonto podrias llamarlos clones si no tienen licencia oficial xD), y no hay ninguna diferencia de ellas tanto conceptualmente, como funcionalmente, solo cambia el metodo fisico de implementacion.
En cambio el caso 4 si seria emulacion (y da igual que lo haga nintendo y el emulador sea "la polla", seguira siendo emulacion).

Y aqui lo aclaro, tambien se puede dar el caso perfectamente de que la nueva revision este mal hecha o no sea exactamente 1:1, pero tanto si se hace en el 1, como en el 2, como en el 3, seguiran siendo revisiones/clones o lo que quieras llamarlos pero jamas serian emuladores.
En el caso 4 da igual tambien que este muy bien hecho, o muy mal hecho, seguira siendo emulacion ;).

Y la ultima aclaracion, tambien podrias implementar en los casos 1 al 3, otro hardware muy distinto al original, por ejemplo el sistema ARM del caso 4. Y en este caso tanto el caso 1 como el 4 serian lo mismo (vamos un PCB con un chip ARM xd), entonces tanto el caso 2 como el caso 3 implementarian ese sistema ARM, y entonces si estarian emulando una SNES, pero implementarian un sistema ARM (jamas emularian un sistema ARM).
jimi escribió:...(o una third party ya que es indiferente)...

Ahí tienes el error.

Si Nintendo saca una SNES con FPGA (sea 1:1 o no) no podríamos llamarlo emulación porque de lo que puede gozar la propia compañía es de hacer revisiones de su propio sistema, pero si lo haces tú ya hablamos de emulación porque NO es una revisión, es una simple copia totalmente ajena a la compañía hecha con otros medios.

No tienes licencia alguna para replicar un sistema cuando te dé la gana y decir que lo que has hecho es una Super Nintendo, lo siento pero no lo veo nada lógico.

Ya fuera de la legalidad de los sistemas, dame mis consolas favoritas en FPGA 1:1 (tal como están fabricados los chips originales, todos) y entonces te daré la razón 1:1, pero tienen que ser iguales a nivel lógico, no sólo 1:1 en equivalencia de funcionamiento sino 1:1 en funcionamiento y estructura lógica. ¿Esto me lo puedes garantizar?
stormlord escribió:
SKyo escribió:Sin ser un experto en temas FPGA, como parece ser para algunos a tenor de los últimos comentarios (que agradezco: siempre es bueno aprende algo nuevo), si puedo decir que como usuario tengo experiencia en el uso de diferentes sistemas: originales, emulados y FPGA. Y, para poner un ejemplo que pueda entender alguien que no haya tenido aun experiencia con sistemas FPGA, para mi es como cuando ves una película con mal CGI. No malo malo, que canta a la vista los errores, sino cuando intentan hacer buen CGI pero meten la pata en detalles que ni eres consciente de apreciar qué está mal pero sabes que algo no cuadra. Nuestro cerebro está tan bien entrenado que es capaz de apreciar que algo no está bien incluso cuando no somos capaces de verbalizar lo que falla. Eso me pasa cuando juego a sistemas emulados después de haber jugado mucho en sistemas originales: sabes que algo falla. A veces es fácil detectarlo, otras no tanto pq las diferencias son sutiles. Cuando uso un sistema FPGA siento que todo es mucho mas robusto, que todo encaja como debe ser. Esto es mucho mas potente si conectar el sistema a TV CRT: ahí la fidelidad que se obtiene es asombrosa. He jugado a una RGB-PI conectada una Bast City y siendo una magnífica experiencia, FPGA esta un paso por encima y mas cercano a lo la experiencia de juego en hardware original. Para mi la emulación actualmente tiene una importante función para test y por preservación. Pero para jugar me quedo con FPGA de largo.

Entiendo lo que dices, FPGA es la evolución a seguir indudablemente, la sensación de tener el propio sistema es más cercana que con un emulador software, es correcto, ¿pero si con software fuera igual, si fuera tan perfecto que llega a ser 1:1, tendríamos que llamarlo simplemente implementación aún sabiendo que lo que hay detrás es una configuración del sistema diferente al original?

Emulación con FPGA y emulación por software pueden llegar a ser 1:1 teóricamente si nos lo curramos bien con nuestros propios medios (siempre que no calquemos los esquemas originales, que entonces no existiría emulación).

Ahora lanzo otra pregunta para quien me la pueda responder, ¿qué consolas existen actualmente implementadas 1:1 en FPGA? 1:1 es 1:1, replicando exactamente los chips que hay en las consolas originales, sin cambiar ni una puerta lógica. En esos casos me callo, y podré decir simplemente implementación, en caso contrario lo seguiré llamando emulación.

Por más que digo que no voy a participar más, siempre caigo xD

Si existen sistemas 1:1 en la FPGA, claro que existen, muchos de los arcades son asi ya que antes era lo normal incluir el esquematico junto con el sistema arcade (ya que si se estropeaba el fabricante no iba venir a arreglartelo y tenias o que arreglartelo tu o contratar a algun tecnico local que te lo reparase, con lo que el esquema era esencial para ello).
Independientemente de que incluyan los esquematicos, se dan muchos casos donde el esquematico incluido no coincide con el hardware en el que venia el esquematico en los sistemas arcade. Y esto es porque el esqueamatico normalmente se dibujaba "a mano", no habia ningun programa CAD de aquellas para imprimirte el esquema actual xD. Asi que a lo mejor el hardware que a ti te llegaba a tu salon arcade era otra revision del PCB distinta del esquematico (que obviamente no iban a volvar a hacer por un pequeño cambio). Por eso jotego se basa en los esquematicos en los arcade que implementa, pero ademas revisa el PCB original (y si puede varios, porque es muy normal que existan diferentes revisiones o incluso bootlegs no oficiales xD).
Muchas veces al identificar diferencias significativas entre revisiones lo que suele hacer es implementar todas y dejar un "ajuste" en el OSD de MiSTer en el que tu elijas que revision quieres. Es lo bueno de las FPGA, que no encarece nada añadir mas circuitos al sistema ;).

Luego muchos chips se decaparon (por ejemplo furrtek esta en eso), con lo que sacan el circuito tal cual y se reimplementa en FPGA (esto lo hacia basicamente porque le costaba mucho encontrar chips de recambio para arreglar placas originales de neo geo, lo de hacer core de neo geo para MiSTer no fue mas un "side effect" de su proyecto original).

Y luego habra otros chips que no sean perfectos, porque son chips complejos donde no hay esquematicos y no se decaparon aun por ejemplo.

Igualmente que este bien implementados es indiferente para que sea emulacion o no, como ya comente en multiples ocasiones. Y que algo se ejecute en una implementacion FPGA no tiene porque ser mejor per se que algo que se ejecute bajo un emulador en otro hardware distinto (aunque sea lo mas comun).

stormlord escribió:
jimi escribió:...(o una third party ya que es indiferente)...

Ahí tienes el error.

Si Nintendo saca una SNES con FPGA (sea 1:1 o no) no podríamos llamarlo emulación porque de lo que puede gozar la propia compañía es de hacer revisiones de su propio sistema, pero si lo haces tú ya hablamos de emulación porque NO es una revisión, es una simple copia totalmente ajena a la compañía hecha con otros medios.

No tienes licencia alguna para replicar un sistema cuando te dé la gana y decir que lo que has hecho es una Super Nintendo, lo siento pero no lo veo nada lógico.

Ya fuera de la legalidad de los sistemas, dame mis consolas favoritas en FPGA 1:1 (tal como están fabricados los chips originales, todos) y entonces te daré la razón 1:1, pero tienen que ser iguales a nivel lógico, no sólo 1:1 en equivalencia de funcionamiento sino 1:1 en funcionamiento y estructura lógica. ¿Esto me lo puedes garantizar?

Creo que no es ningun error, una licencia (o la falta de ella) no cambia PARA NADA un sistema, es funcionalmente identico la tenga o no.

Si nintendo saca una SNES Mini en un ARM (como ya saco) sigue siendo un emulador (por mucha licencia que tenga), y si nintendo saca una nueva revision de SNES en FPGA o en un custom SoC (como ya de hecho saco en su momento tambien de esto ultimo) pues seguira siendo una nueva revision de una SNES :P.
@jimi , perfecto entonces, si de verdad el esquema de ciertos arcades ena FPGA es 1:1 y viene de un esquema oficial sea o no el mismo que tenía el arcade en su monento, correcto, implementación, no tengo nada que decir sobre eso, pero insisto en que si no es oficial debe considerarse emulación, no es moralmente correcto decir libremente que has hecho un sistema igual que uno original usando tu propio esquema, dando igual el resultado final. Ahí tienes la emulación que tanto tiempo he intentado explicar.

Te estoy dando la razón en parte, pero en lo que recalco no puedo. Te puede parecer una tontería completamente irrelevante pero para mí tiene sentido, y creo que es el caso de nuestras queridas consolas retro, a menos que alguien me diga que se ha hecho igual que con esos arcades que dices.

De monento, lo que realmente me garantiza que por funcionamiento y lógica interna esté usando una Mega Drive, es la propia Mega Drive.

Estoy interesado en saber qué consolas están 1:1 en todos los aspectos implementadas en FPGA, obviamente con esquemas oficiales.
stormlord escribió:@jimi , perfecto entonces, si de verdad el esquema de ciertos arcades ena FPGA es 1:1 y viene de un esquema oficial sea o no el mismo que tenía el arcade en su monento, correcto, implementación, no tengo nada que decir sobre eso, pero insisto en que si no es oficial debe considerarse emulación, no es moralmente correcto decir libremente que has hecho un sistema igual que uno original usando tu propio esquema, dando igual el resultado final. Ahí tienes la emulación que tanto tiempo he intentado explicar.

Te estoy dando la razón en parte, pero en lo que recalco no puedo. Te puede parecer una tontería completamente irrelevante pero para mí tiene sentido.

Es que no tiene nada que ver con la moral, o si tiene licencia, o si es oficial xD. Y no es por desmerecer a la emulacion, es por diferenciar la emulacion de la no emulacion (que son cosas tecnicamente diferentes).

Si quieres ver los esquemas y manuales originales de muchos de los arcades de jotego, los tienes aqui (llevan ahi bastante tiempo como puedes comprobar):
https://github.com/jotego/jt_gng/tree/master/doc
jimi escribió:
stormlord escribió:@jimi , perfecto entonces, si de verdad el esquema de ciertos arcades ena FPGA es 1:1 y viene de un esquema oficial sea o no el mismo que tenía el arcade en su monento, correcto, implementación, no tengo nada que decir sobre eso, pero insisto en que si no es oficial debe considerarse emulación, no es moralmente correcto decir libremente que has hecho un sistema igual que uno original usando tu propio esquema, dando igual el resultado final. Ahí tienes la emulación que tanto tiempo he intentado explicar.

Te estoy dando la razón en parte, pero en lo que recalco no puedo. Te puede parecer una tontería completamente irrelevante pero para mí tiene sentido.

Es que no tiene nada que ver con la moral, o si tiene licencia, o si es oficial xD. Y no es por desmerecer a la emulacion, es por diferenciar la emulacion de la no emulacion (que son cosas tecnicamente diferentes).

Si quieres ver los esquemas y manuales originales de muchos de los arcades de jotego, los tienes aqui (llevan ahi bastante tiempo como puedes comprobar):
https://github.com/jotego/jt_gng/tree/master/doc

Gracias, pero a mí particularmente no me interesan los arcades, me interesan las consolas.

Y realmente lo que diferencia la emulación de la "implementación" es el nivel al que se lleva a cabo, porque la intención de recrear algo con nuestros métodos sigue estando, en ambos casos, más en emulación software que por hardware, pero ahí está.

Es que ya puestos, da igual todo entonces, todo vale y es lo mismo, y no tiene que ser así. Los pequeños matices pueden cambiar mucho la situación.
stormlord escribió:@jimi , perfecto entonces, si de verdad el esquema de ciertos arcades ena FPGA es 1:1 y viene de un esquema oficial sea o no el mismo que tenía el arcade en su monento, correcto, implementación, no tengo nada que decir sobre eso, pero insisto en que si no es oficial debe considerarse emulación, no es moralmente correcto decir libremente que has hecho un sistema igual que uno original usando tu propio esquema, dando igual el resultado final. Ahí tienes la emulación que tanto tiempo he intentado explicar.

Te estoy dando la razón en parte, pero en lo que recalco no puedo. Te puede parecer una tontería completamente irrelevante pero para mí tiene sentido, y creo que es el caso de nuestras queridas consolas retro, a menos que alguien me diga que se ha hecho igual que con esos arcades que dices.

De monento, lo que realmente me garantiza que por funcionamiento y lógica interna esté usando una Mega Drive, es la propia Mega Drive.

Estoy interesado en saber qué consolas están 1:1 en todos los aspectos implementadas en FPGA.


Que mas da como se le llame al asunto, lo importante aqui es que el resultado que da en juegos retro es magnifico. Haste un favor prueba una y luego vuelves a escribir y dar tu opinion sobre como se deben llamar. Creeme el dia que la uses y veas por ti mismo como trabaja una FPGA como la Mister la vas a ver con otros ojos. Para complementar tu colección viene de perlas y te lo digo con conocimiento en causa porque como ya sabes tengo de todo conectado y para poder disfrutar de lo que no tengo como por ejemplo Arcades, Ordenadores retro o Neo-Geo es lo mejor que hay, que para esto tambien hay otras : Nes, Snes, MD, SMS, GBA, GB, etc pues mejor que mejor, porque en la vida no se puede tener de todo y entre estas siempre hay juegos que no los tengo fisicamente porque son inalcanzables para mi y pues con la Mister los puedo jugar siendo lo mas cercano a lo que seria el hardware original. Que mas se puede pedir ? Creeme a los precios que esta esta bestia y lo que puedes hacer con ella, hasta barata la encuentro. Te lo digo es un complemento cojonudo para tu colección para probar juegos que no puedes tener si eres asi como eres tan cerrado al hardware original, nada se acerca mas que esto es la verdad. Dale una oportunidad que si te gusta el retro veras que sera una de las mejores compras en mucho tiempo. No tienes que apartar tu hardware original, esto para alguien como tu es un buen complemento para ampliar horizontes en el retro.
Faxtron escribió:Que mas da como se le llame al asunto, lo importante aqui es que el resultado que da en juegos retro es magnifico. Haste un favor prueba una y luego vuelves a escribir y dar tu opinion sobre como se deben llamar. Creeme el dia que la uses y veas por ti mismo como trabaja una FPGA como la Mister la vas a ver con otros ojos

Y no te digo lo contrario, nunca lo he hecho, que conste.

El día que las pruebe seguramente me molarán, y seguramente más que los emuladores de toda la vida, pero que me molen mas y deje apartada la vieja emulación, no va a cambiar mi opinión al respecto.

Lo que está claro es que es esto va según los intereses y la importancia que le demos a las cosas, como en todos los debates y como yo le doy importancia a ese matiz que ya he explicado, pues digo lo que digo. Lo que para muchos es una tontería para mí es totalmente crucial para considerar dichas implementaciones de una u otra forma. Para mí tiene mucha lógica, pero si para ti y mucha más gente no, oye, no todos pensamos igual y por lo tanto las inquietudes tampoco son las mismas.

Si me garantizan que la implementación es 1:1 a nivel lógico (estructuralmente, funcionalmente lo será), entonces sé de verdad que lo que voy a ver, escuchar y sentir, va a ser lo mismo que con mi consola original (quitando el componente nostálgico de sentir la consola original), mientras tanto nadie puede garantizarme que en algún juego pueda comerme un bug o algún comportamiento que sin destrozar el juego me pueda resultar molesto.

Vamos a dejarlo en que la representación de los juegos en sistemas FPGA es mejor que por software y mas fiel al original.
@stormlord Nadie te puede garantizar que algo va a sonar igual a otro hardware "original" simplemente porque toda la parte analogica es variable con el tiempo y que 2 consolas "originales" no suenan igual porque mucha parte depende de sistemas analogicos y no son exactamente iguales por muchisimos motivos. Incluso dependiento de la tele que usases tu en tu momento ya va a cambiar totalmente a otra tele que uses (o simplemente el paso del tiempo si aun conservas la "original").
La parte logica si se puede replicar exactamente igual, lo hagas en un PCB con multiples circuitos integrados, lo hagas en un solo custom chip o lo hagas en una FPGA.

Pero bueno si tu quieres llamarlo emulacion llamalo emulacion, es tu derecho, como si quieres llamar a un bocadillo "plato combinado", nadie te va a obligar a lo contrario xD. Yo seguire llamando a las cosas por su nombre y no porque tenga mania a uno u otro nombre, sino por no generar confusion innecesariamente :P.

Esto me recuerda a irene montero y su todes xD.
@jimi , confusión es lo que yo sentiría si me compro una MegaSg garantizándome que es perfecto y luego con mi juego preferido siento que algo falla, caso que ya ha ocurrido y han tenido que actualizar el core.

Como por ahora las consolas originales son las que me garantizan que el funcionamiento va a ser perfecto, serán mi primera opción, y creo que aunque FPGA sea perfecto lo seguirán siendo por lo del sentir, ya sabes xD.
no se donde lo vi, que hasta dos snes de diferente revisiones, no se veian igual los colores. Pusieron el zelda y en una era algo oscuro y la otra mas clara, siendo en la misma tv crt

en fgpa, por lo que estoy viendo, si habia componentes analogicos, de audio, o lo que sea, tiene que ser emulado por software a la fuerza, la fpga no puede emular nada analogico tan facilmente
stormlord escribió:@jimi , confusión es lo que yo sentiría si me compro una MegaSg garantizándome que es perfecto y luego con mi juego preferido siento que algo falla, caso que ya ha ocurrido y han tenido que actualizar el core.

Como por ahora las consolas originales son las que me garantizan que el funcionamiento va a ser perfecto, serán mi primera opción, y creo que aunque FPGA sea perfecto lo seguirán siendo por lo del sentir, ya sabes xD.

Eso no es confusion, vamos, al menos yo no le llamaria confusion.
Estas mezclando terminos a diestro y siniestro y eso si que te genera confusion por lo que veo.
Que tendra que ver que algo sea perfecto (o que te garanticen con que sea perfecto), con que sea emulacion o no sea emulacion?

Y que un juego no funcione correctamente incluso te puede pasar en un emulador, en una implementacion en FPGA, en una revision mas nueva de un sistema original o incluso entre sistemas originales de primera tirada. A veces son bugs en el diseño original, a veces son fallos en la propia fabricacion, diferencias en las revisiones, o margenes de timings o temperaturas que soportan... es que hay tantos motivos xD.

Y un ejemplo muy claro y super conocido lo tienes con las megadrive, que depende que revision tengas hay juegos que te van a funcionar y otros que no, y no es porque sean emuladores (que no lo son xD).

*editado*
Ademas dudo que los de Analogue te garanticen que es perfecto, y que tengan una implementacion perfecta de la Megadrive (ademas de que revision de Megadrive, porque hay unas cuantas y diferentes y no se si tienen un selector para elegir cual). Es mas tengo mis dudas de que la implementacion de Megadrive de Analogue este siquiera al nivel de la de MiSTer. Y si, en cambio, los de Analogue te garantizan que la implementacion es exactamente igual y no lo es, sinceramente te estan estafando vendiendote algo que no es y punto (pero seguiria sin ser emulacion).

Yo es que no tengo nada de Analogue y ellos no han hecho publicas sus implementaciones tampoco (creo y sino que alguien me corrija), asi que a saber si tienen una implementacion muy buena hecha integramente por ellos y totalmente diferente a la de MiSTer, si cogieron parte del core de MiSTer, o que narices hicieron. Yo no lo se, asi que a saber :P.
No me entendéis del todo, pero da igual, no vale la pena gastar más tiempo en algo que a nadie le interesa más que a mí y alguno más.

Centrémonos en jugar, en disfrutar de los videojuegos, es lo más importante del hobby [oki]
Es que lo de emular, pues si nos ponemos así la PS2 emula la Play1, la Megadrive emula la Master System, la Wii emula la GC ... etc porque llevan el hard en su interior, pues con la FPGA es lo mismo, es un hardware que es otro simplemente que es convertible.

Decir emulación a la FPGA es inducir a error porque el problema es que la gente lo confundirá con una Raspberry y no tiene nada que ver una cosa con la otra, aunque decir emular en teoría este bien dicho.

Saludos.
No me mola meterme en discusiones sobre el sexo de los ángeles, pero veo que este es un tema recurrente en el subforo. Emular es un concepto muy amplio que se refiere a la intención, no al hecho. Semánticamente hablando es correcto decir que un core de MiSTer emula una cierta máquina. Emular es intentar copiar algo, imitar. También es igual de correcto decir implementar ya que realmente estás implementando un diseño, igual que en un proyecto se dice implementar una solución.

La verdad que estar discutiendo estas cosas no tiene ningún sentido. El lenguaje va cambiando y con ello las palabras que usamos se van empleando en conceptos nuevos. Pero en la semántica solo se suma, no se resta: Un coche sigue siendo un coche de caballos. Por mucho que ahora nos refiramos a un automóvil. Emular ya era copiar algo desde antes del descubrimiento de la electricidad e implementar tres cuartos de lo mismo (aunque por ejemplo en muchos sitios en este contexto se refiere a ello como "despliegue", no sé si de una mala traducción de deploy).

Saludos!

Edito para añadir la guinda:
Un emulador es un imitador.
@Zak_pepinillo Nadie ha negado que el significado semanticamente no sea correcto. El problema es que es un termino tan amplio que si utilizamos ese termino tendriamos que llamar emulacion a practicamente todo y solo generaria aun mas confusion (que creo que no es lo que buscamos precisamente, sino lo contrario).

Por ejemplo, no he visto ha nadie decir que tiene un Emulador de PC o que su "maquina emula un PC", todo el mundo dice que tiene un PC y listo y mira que llevamos decadas "emulando" PCs xD.

Ademas de las propias contradicciones, porque abogar por llamar emulacion a nuestra discreccion segun sea hecho por la empresa "original" o tenga licencia, o se utilice una tecnologia fisica en particular tampoco me parece nada correcto :P.
Está claro que son cosas diferentes, basta con probar ambas para saberlo. Entonces el problema está en el nombre, ¿no? Yo tiendo a hacer caso a quienes son especialistas en un campo, en todos los ámbitos de la vida. Y si la mayoría de ingenieros de hardware y devs no llaman al desarrollo de FPGA "emulación", pues entonces para mi no es emulación.

Por no hablar de que llamando a las FPGA emulación acabas cayendo en absurdos, como que cuando juego a una ROM de NES en un flashcart de NES (que lleva una FPGA) en una NES, estoy emulando la NES... ¿en una NES?

Si coges una NES tal cual y sustituyes la PPU (porque se haya jodido, por ejemplo) por una FPGA que implemente el chip, ¿deja de ser una NES? Si le instalas a la NES el RGB kit de Tim Worthington (que es una placa entera, con una FPGA), ¿deja de ser una NES?

Tampoco se puede argumentar la fidelidad 1:1 con los sistemas originales para decidir si es o no emulación, cuando esos propios sistemas originales varían bastante entre revisiones. Una SNES 1CHIP de Nintendo es incluso más diferente de la SNES original que la Super NT o el core de MISTer.

Aquí no estás dándole instrucciones a un hard con un SO para que ejecute ROMS para las cuales no fue diseñado, estás utilizando una réplica de los componentes de ese hard que ejecutaba esas roms, con la peculiaridad que es configurable/reprogramable.

Yo creo que la diferencia está tan clara, que es obvio que no se puede utilizar el mismo término para ambas cosas. Son mundos muy diferentes, aunque lleven al mismo camino. No se puede reducir todo a la semántica, porque si tuviéramos que sacar el diccionario de la RAE para cada cosa, casi no podríamos decir ni una palabra aquí.
@guillian-seed Un ejemplo, y bien claro, es la Megadrive 2 que lleva otro Yamaha y suena diferente a la Megadrive 1 e incluso lo que ha dicho @jimi con dos cosas iguales, no se ve o se oye igual o no exactamente.

Saludos.
4943 respuestas