Emulador para niños
Un emulador es un programa de computadora que permite que un dispositivo (como tu computadora o una consola de videojuegos) actúe como si fuera otro dispositivo diferente. Esto significa que puedes usar programas o jugar videojuegos que fueron creados para una plataforma distinta a la tuya.
A diferencia de un simulador, que solo intenta imitar cómo funciona un programa, un emulador busca copiar con mucha precisión el dispositivo original. Así, el programa o juego funciona exactamente como lo haría en el aparato para el que fue diseñado.
Contenido
¿Para qué se usan los emuladores?
Los emuladores tienen muchos usos interesantes.
Jugar videojuegos antiguos
Uno de los usos más populares es poder jugar videojuegos de máquinas recreativas (las de los salones de juegos) o de consolas de videojuegos antiguas en tu computadora personal o en otras consolas. Es mucho más fácil y práctico jugar estos juegos clásicos en los dispositivos modernos que buscar y usar las máquinas originales.
A veces, los creadores de emuladores necesitan permisos especiales para que sus programas funcionen como el hardware original. Esto se conoce como "emulación de alto nivel".
Usar programas de sistemas viejos
Otro uso común es para hacer funcionar sistemas operativos que ya no se usan mucho, o que fueron hechos para otro tipo de máquina. Esto te permite usar programas que solo son compatibles con esos sistemas operativos más antiguos.
¿Cómo funciona la emulación?
En teoría, cualquier sistema puede ser imitado por otro. Pero en la práctica, esto puede ser muy difícil. Especialmente si no se sabe exactamente cómo funciona el sistema original y hay que descubrirlo paso a paso. Además, un emulador debe ser lo suficientemente rápido para que el programa funcione sin problemas, como si estuviera en el aparato original.
Partes de un emulador
La mayoría de los emuladores imitan una parte específica del hardware de una máquina. Si un programa necesita un sistema operativo para funcionar, el emulador también debe imitar ese sistema operativo. Tanto el sistema operativo como el programa deben ser "leídos" por el emulador, como si estuvieran en la máquina original.
Además de entender el lenguaje de la máquina, el emulador debe imitar otras partes. Por ejemplo, los dispositivos de entrada y salida (como el teclado o la pantalla) deben funcionar de forma virtual. Si escribir en una parte de la memoria debe cambiar lo que ves en pantalla, el emulador también debe hacer eso.
Para los desarrolladores de videojuegos, los emuladores son muy útiles. Pueden probar sus juegos en un emulador antes de que la consola real esté lista. Esto les ayuda a encontrar y corregir errores fácilmente.
Un emulador suele estar dividido en partes que corresponden a las partes de la máquina que imita. Las partes más comunes son:
- Un emulador de la unidad central de procesamiento (CPU).
- Un módulo para la memoria.
- Varios emuladores para los dispositivos de entrada y salida.
Generalmente, los "buses" (que son como caminos para la información dentro de la computadora) no se emulan. Esto se hace para que el emulador sea más sencillo y funcione más rápido.
El simulador de la CPU
La parte más compleja de un emulador suele ser el simulador de la CPU. Muchos emuladores usan simuladores de CPU ya hechos para que la imitación sea muy precisa y eficiente.
El simulador de CPU más sencillo es un "intérprete". Este sigue las instrucciones del programa original y las convierte en instrucciones que tu computadora puede entender y ejecutar.
Esto se logra asignando un espacio en la memoria a cada parte de la CPU que se está imitando. La forma en que funciona la CPU original se traduce a un programa de computadora.
Los intérpretes son populares porque son más fáciles de crear. Además, su velocidad es suficiente para imitar computadoras antiguas en las máquinas modernas de hoy.
Sin embargo, si la computadora que se quiere emular es casi tan rápida como la tuya, un intérprete podría ser lento. Para esto, se usan técnicas más avanzadas como la "recompilación dinámica". Esta técnica traduce partes del código del programa original a un código que tu computadora puede ejecutar directamente, y lo hace justo cuando es necesario.
Dispositivos de entrada y salida
La mayoría de los emuladores tratan cada dispositivo de entrada y salida (como el teclado, el ratón o la pantalla) de forma especial. No hay una forma única para todos los dispositivos virtuales.
Esto puede hacer que el emulador funcione mejor, ya que cada parte se adapta a lo que imita. Pero también existen formas más sencillas de manejar esto, usando interfaces de programación que permiten añadir dispositivos virtuales de otras personas.
Los emuladores tienen una base común para manejar estos dispositivos:
- Manejan las "interrupciones", que son señales que le dicen a la CPU virtual que algo importante ha sucedido.
- Leen y escriben en la memoria, como lo haría el dispositivo original.
¿Qué son las imágenes ROM?
Los emuladores usan algo llamado "imágenes ROM". Una imagen ROM es una copia digital del contenido de los cartuchos, disquetes o cintas que se usaban en los sistemas antiguos. En tu computadora, estas imágenes ROM son archivos que el emulador carga en la memoria.
Piensa en el emulador como si fuera una consola de videojuegos (por ejemplo, una Game Boy Advance). La imagen ROM sería como el cartucho del juego (por ejemplo, Mario Bros.) que insertas en esa consola virtual.
Máquinas virtuales
La emulación también se usa para crear una "máquina virtual". Una máquina virtual es como una computadora dentro de otra computadora. Esta máquina virtual puede imitar una máquina que existe de verdad o una que solo existe como un diseño (como la máquina virtual de Java). De esta manera, un programa escrito para una máquina virtual puede funcionar en muchas plataformas diferentes.
Emuladores de videoconsolas
Los emuladores de videoconsolas son un tipo específico de emuladores. Están diseñados para imitar una o varias consolas de videojuegos y así poder jugar los juegos creados para ellas. A menudo, los emuladores que imitan varias consolas se enfocan en aquellas que tienen características similares. Por ejemplo, MEKA es un emulador que funciona con todas las consolas de 8 bits de Sega y también con la Colecovision.
Véase también
- Emulador de consola
- Imagen ROM
- Virtualización
- Retrogaming