En esta nueva entrada vamos a hablar del funcionamiento de los emuladores de videojuegos.
Si quieres saber más sobre qué son los emuladores de videojuegos, su origen y su situación actual, visita esta entrada.
Emulador de videojuegos – ¿Qué es?
¿CÓMO FUNCIONA UN EMULADOR DE VIDEOJUEGOS?.
Para saber cómo funciona un emulador de videojuegos, debemos tener claro lo que es.
Se trata de un programa informático que permite a un procesador (de un ordenador, por ejemplo) leer el código en que está escrito un videojuego que está programado para ser leído por otro procesador distinto (el de una videoconsola, por ejemplo).
Sin embargo, este proceso de “traducción” plantea varios problemas.
El principal, es que hace falta saber cómo se programan las instrucciones del videojuego para luego poder crear el programa que va a leerlas y a convertirlas en instrucciones para otro procesador. Sin embargo, esta información no es pública.
Posteriormente, una vez se tiene algo así como un listado de las instrucciones, habría que obtener las instrucciones de cada juego, para poder traducirlas. De nuevo, esta información sólo está en poder de quien ha creado un juego.
Pensemos en el caso de un juego de Super Nintendo al cual queremos jugar en el PC.
Supongamos que ya tenemos construido el emulador. Ahora, hay que darle unas instrucciones que leer. Otro problema que surge es el hecho de que los ordenadores no cuentan con puertos adecuados para insertar un cartucho, por ejemplo.
Y, aunque puedas pensar que, en el caso de CDs o DVDs es más fácil, lo cierto es que el lector de un ordenador no funciona como el de una consola.
Lo que habrá que hacer, entonces, es extraer la información de un cartucho (o CD o DVD) y convertirla en un archivo legible por el emulador.
Aquí es donde entran en juego los archivos ROM e ISO de los videojuegos.
EL ELEMENTO FUNDAMENTAL PARA EL FUNCIONAMIENTO DE UN EMULADOR DE VIDEOJUEGOS.
Una imagen ROM es un archivo que contiene los datos de una ROM (Read Only Memory).
Una ROM es un chip que contiene una información que solo puede ser leída, es decir, no puede modificarse su contenido.
Por ejemplo, antiguamente, los sistemas operativos de los ordenadores estaban contenidos en este tipo de memorias y, para actualizarlos, había que sustituir el chip entero.
Y este es, también, el mecanismo utilizado por los cartuchos de videojuegos para ser leídos por las videoconsolas.
Por lo tanto, cuando se extrae el contenido de dicha memoria, se crea un archivo ROM, que es una reproducción exacta de ese contenido. De esta manera, se podrá leer en otros dispositivos sin necesidad de tener el cartucho físicamente.
Por su parte, una imagen ISO es un archivo que contiene una copia exacta del contenido de un CD o DVD.
Es decir, es igual que un archivo ROM, pero para contenido que estaba almacenado en una unidad de disco óptico (CD, DVD, Blu Ray…).
LAS DIFICULTADES DE LA EMULACIÓN DE VIDEOJUEGOS
Si bien ya vimos que existen ejemplos de emulaciones oficiales, vamos a centrarnos ahora, en el fenómeno de la emulación más underground.
La mayoría de emuladores se centran en consolas que salieron al mercado hace ya algunas décadas.
Por un lado, esto puede ser por la nostalgia de los jugadores que desean volver a disfrutar de juegos de su infancia. Pero, por otro, esto es debido a la menor complejidad para replicar estos sistemas.
Tal y como comentábamos en la entrada anterior, además de traducir las instrucciones de un videojuego para poder ser leídas por otro dispositivo, un emulador también recrea el resto de condiciones técnicas para poder hacer funcionar el videojuego en un soporte distinto para el que fue diseñado.
Las consolas más actuales, en cambio, además de las medidas tecnológicas de protección con las que cuentan, utilizan métodos y componentes muy complejos que dificultan la creación de un emulador que pueda reproducir esas condiciones.
Por ejemplo, PS3 utiliza un sistema de instrucciones cuya traducción al sistema de un PC resulta en un proceso muy lento, por lo que la emulación es imposible de jugar.
LOS MÉTODOS DE EMULACIÓN DE VIDEOJUEGOS – LOW LEVEL EMULATION.
En concreto, los desarrolladores de emuladores vienen utilizando dos métodos, principalmente: LLE (Low Level Emulation) y HLE (High Level Emulation).
Veamos en qué consisten.
El LLE (Low Level Emulation) consiste en recrear un hardware a través de software. Por ejemplo, recrear el funcionamiento de una NES, exclusivamente, a través de un programa informático para PC.
De esta manera, el emulador recrea virtualmente todos los elementos de la consola para leer el código destinado a cada uno de ellos y, posteriormente, transmitirlo en señales legibles para el procesador del PC.
De esta manera, se logra una emulación prácticamente idéntica al original, recreando hasta el último detalle.
Esta ventaja es, a la vez, uno de sus principales inconvenientes, ya que, al tener que emular todos esos elementos y, luego, tener que convertirlo en algo legible, se necesita un dispositivo con gran potencia. De lo contrario, no será posible ejecutar el emulador.
Este es el método utilizado por los primeros emuladores (y muchos actuales).
Recordemos, que una gran parte de los emuladores están destinados a jugar a títulos antiguos que corrían en consolas también antiguas.
La menor complejidad de estos dispositivos hace posible emularlos mediante LLE.
El funcionamiento de LLE es también el motivo por el que es muy difícil emular consolas modernas, ya que su hardware es mucho más potente y recrearlo mediante software y ejecutarlo es una tarea muy exigente.
LOS MÉTODOS DE EMULACIÓN DE VIDEOJUEGOS – HIGH LEVEL EMULATION
La principal diferencia de este método con el Low Level Emulation radica en que, en este (HLE), no se recrean mediante software los elementos de hardware necesarios para leer el
Este método busca aprovechar los elementos y la potencia del dispositivo en el que se ejecuta el emulador (por ejemplo, un ordenador).
Dentro de la HLE existen diferentes métodos para “traducir” el código original en código legible para el equipo donde se está emulando.
- Unos, buscan ir “traduciendo” el código original al código de destino a medida que se ejecuta el juego en el emulador (es lo que se llama re-compilación). La principal ventaja es que la “traducción” se va haciendo, digamos, una a una, a diferencia del LLE donde se “traducía” todo a la vez.
- Otros, aprovechan el hardware del dispositivo donde se emula para “engañar” al código original. Así, cuando este requería el uso de la GPU (chip de vídeo) de la consola, por ejemplo, el emulador lo convierte en un requerimiento de uso de la GPU del ordenador.
Estos métodos son generalmente usados para la emulación de dispositivos mediante equipos con características técnicas similares.
Uno de los primeros ejemplos de HLE fue un emulador de Nintendo 64. El código en el que estaban escritos los juegos de esta consola facilitó mucho la implementación de técnicas HLE, lo que permitió emular la consola cuando solo llevaba 3 años en el mercado.
¿CÓMO FUNCIONAN LOS EMULADORES OFICIALES DE VIDEOJUEGOS?
En la anterior entrada ya vimos que los principales fabricantes de consolas, ante la creciente demanda de emuladores para jugar a sus títulos “retro”, decidieron poner en el mercado sus propias versiones.
Es el caso de la NES Mini o SNES Mini de Nintendo, o la PlayStation Classic, de Sony.
Como ya sabemos, estos dispositivos consisten, en esencia, en ordenadores que ejecutan un emulador para poder jugar a los títulos de esas consolas.
Por tanto, dado que es el propio fabricante de la consola la que emula, no debería tener mayores problemas, ya que dispone del código usado para los juegos que corrían en sus consolas. Esto facilita enormemente la emulación.
Pero, entrando en detalle, ¿qué métodos, de los que hemos visto, se han utilizado para estas emulaciones?
Vamos a fijarnos en el caso de PlayStation Classic.
En 2018, Sony lanzó al mercado esta versión de su PlayStation original (la PSX). Este nuevo dispositivo usaría la emulación mediante software para reproducir los juegos incluidos.
Lo que se descubrió poco después, fue que Sony no había desarrollado su propio emulador, sino que PlayStation Classic utilizaba PCSX, un emulador desarrollado de manera independiente en el año 2000 y que Sony había intentado tumbar en los tribunales.
Sin embargo, esta acción no prosperó y el gigante japonés terminó comprando este emulador para paralizar el proyecto.
Lo curioso de este emulador es que utiliza los dos métodos que hemos visto, tanto LLE como HLE. Según parece, la versión que circulaba por Internet hace muchos años permitía elegir entre “interpretar” el código original (LLE) o re-compilarlo (HLE).
SI QUIERES LEER MÁS SOBRE EL MARCO LEGAL DE LOS VIDEOJUEGOS, VISITA ESTAS ENTRADAS:
Derechos de autor en los videojuegos – Parte 1
Derechos de autor en los videojuegos – Parte 2
Derechos de autor en los videojuegos – Parte 3
La clasificación por edades en los videojuegos
El sistema PEGI – Clasificación por edades en los videojuegos
El sistema ESRB – Clasificación por edades en los videojuegos
]]>