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

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

Alberto García

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.