¿Cómo funciona un emulador de consolas para PC?

Hardware

El PC tiene muchas ventajas como plataforma de juegos, tal y como recopilamos en este artículo en verano. Una de ellas es la posibilidad de emular prácticamente cualquier consola previa a los años 2000, e incluso algunas de las lanzadas a partir de esa fecha, como la Nintendo DS, la PSP o más recientemente la Wii U con CEMU. Por ello, vamos a explicar cómo funciona un emulador, y por qué es tan difícil emular consolas más potentes como PS3 o Xbox 360.

El principal por el que no podemos ejecutar un juego de, por ejemplo, PS3, en PC es que los juegos están diseñados para funcionar con un software y un hardware determinado. Por ello, el primer objetivo de un emulador es hacer funcionar programas o juegos en otro tipo de sistema, haciendo entender al juego que está funcionando en el hardware para el que está diseñado.

Cómo funciona un emulador

Simular todas las funciones de un componente de hardware a través de software no es nada sencillo. El principal motivo de que no tengamos emuladores perfectamente funcionales de PS3, Xbox 360, PS4 o Xbox One es debido a la complejidad de su hardware, la cual ha aumentado en la última década. Un emulador necesita hacer entender que tiene todos los periféricos y drivers reales de sonido, tarjeta gráfica o del lector de Blu-Ray.

emulador-consolas-pc-mandos

La parte más compleja de emular es el procesador (CPU). Este componente es el más importante en cualquier dispositivo, ya que se encarga de realizar la mayor parte de los cálculos. La principal diferencia que encontramos entre los procesadores se encuentra en su conjunto de instrucciones, que determinan la forma en la que un PC realiza las tareas que los programas le ordenan.

Por ejemplo, el chip Cell de PS3 utiliza un conjunto de instrucciones MIPS, que es diferente del x86 que utilizan los PC, por lo que un emulador de PS3 en PC tendría que poder emular ese conjunto de instrucciones para hacerlo funcionar en x86. Esta es la razón de que en muchos casos la emulación sea tan lenta, ya que el emulador tiene que estar traduciendo un conjunto de instrucciones a otro en tiempo real.

El proceso con un supuesto juego de PS3 sería: un juego envía una instrucción MIPS al emulador, y éste la traduce a x86, y este la envía a la CPU de tu PC para que la procese. Cuanto más complejo sea el lenguaje de programación, más lenta y difícil será la emulación.

Probablemente no veremos emuladores de PS3, PS4, Xbox 360 y Xbox One

Debido a esto, es posible que pasen todavía muchos años hasta que veamos un emulador 100% funcional de PlayStation 3 o de Xbox 360 (si es que lo vemos), que son las consolas populares más antiguas que de momento no tienen emulación, con permiso de la primera Xbox. A diferencia de la Playstation 2 con PCSX2 (que incluso es inestable en la actualidad), la Xbox original todavía no ha sido emulada de manera exitosa debido probablemente a la poca demanda que hay de poder jugar a sus juegos en un emulador.

salon-television-4k-uhd-samsung-ps4-playstation-4-pro

De hecho, es más probable que veamos una “emulación” de PS4 o Xbox One antes que de sus versiones anteriores, debido a que las nuevas consolas utilizan un conjunto de instrucciones x86 en sus APUs de AMD. El problema es que x86 utiliza un número tan grande de instrucciones que su emulación es muy difícil, por lo que casi con toda seguridad no vamos a ver emuladores de estas consolas, a pesar de también sistemas operativos basados en BSD en el caso de PS4 o Windows en el caso de Xbox One.

Escrito por Alberto García

Fuente > MakeUseOf

Continúa leyendo
  • Aritz Lizarrga

    ¿Cómo funciona un emulador de consolas para PC?

    Esperaba algún tipo de explicación algo mas a fondo que un simple “intentar emular el hardware/software de la consola”.

    Casi hubiera preferido una traducción literal del articulo de Austin Luong.

  • Alberto

    “Cuanto más complejo sea el lenguaje de programación, más lenta y difícil será la emulación”. No creo que sea precisamente esto, de hecho, el lenguaje que se sigue utilizando con mucha frecuencia y que es el rey en videojuegos y demás, es C++, el cual es tremendamente complejo y potente. No creo que tenga demasiado que ver, en realidad Java, que es un lenguaje mucho más “accesible o fácil” que C++, es tremendamente más lento por eso de que es interpretado y compilado, aunque Java es un caso bastante peculiar, C y su hijo C++, al ser compilados son mucho más rápidos, también son lenguajes que siendo de alto nivel, también permiten utilizar bajo nivel (acceder a posiciones de memoria, por ejemplo), por lo cual son sistemas ideales para hacer sistemas operativos, software que requiere de una gran potencia y respuesta bastante rápida.
    Saludos.

  • Cristobal Risquez

    solo voy a decir “rpcs3” y “xenia”, y me alejo lentamente

  • Carlos Muñoz

    Bueno, ahora todos sabemos que tal vez gracias a phil spencer esos emuladores de xbox no esten tan lejos, venga, que si un xbox one puede emular un 360 ¿acaso un pc no va a poder? xenia va a quedar en el olvido cuando xbox lance el primer emulador oficial.

  • Jonathan Israel Cerda Magaña

    pues como gamer tengo y poseo todos los emuladores….. señores no se an tontos deque se puede se puede solo que ptm verg apoya al de desarrollador por que no solo se nesesita 1 persona ptm son facil 5 a 10 para poderlo crear y no mas ay para ay que aser muchas pruebas facil si se abientan sus meses a qui en MEXICO ay varios pero acaso alguien quiere a poyar pero no solo a wey te apoyo simon…. y el efectivo jajaja sigan soñando mientras no ayga efectivo nunca les veran

  • Luigi

    “Probablemente no veremos emuladores de PS3”
    Menos mal que ya es el futuro 😛

  • eric perez

    Quien sea que haya escrito esto seguramente no haya visto rpcs3 o xenia, que pcsx2 es inestable? Diablos!! con que juego? Todos los triple A de ps2 corren de maravilla y en ningun momento fue inestable