Existen emuladores de todo tipo aunque los más conocidos por los usuarios de PC son los emuladores de ordenadores antiguos como el ZX-Spectrum, Amstrad, y emuladores de máquinas de juegos como el M.A.M.E que emula máquinas de los salones recreativos.
Para más información buscar en google, yahoo o tu buscador favorito los siguientes términos: emulador spectrum, emulador amstrad, emulador mame, emulador gameboy, etc. También se puede buscar en Inglés spectrum simulator, spectrum emulator, PC emulator ó Virtual PC por ejemplo, el número de páginas encontradas será muy superior.
Ejemplo, para emular al viejo ordenador ZX-Spectrum 48K que causó furor en los 80, el emulador deberá poder emular el microprocesador principal a la misma velocidad, en este caso un Zilog Z-80 a 4 MHz de velocidad y al resto de elementos que componían el Spectrum así como su interconexión perfectamente sincronizada y a tiempo real. Deberá así mismo reservar un espacio de memoria que será la memoria donde se almacenarán los programas para el Spectrum y donde accederá el Z-80 para poder leer las instrucciones y los datos en el lenguaje máquina del Z-80, la memoria del Spectrum.
La emulación de los distintos microprocesadores como el Z-80, en el PC se hace por software generalmente mediante un programa en C aunque a veces, por razones de velocidad, es necesario hacerlo con un programa o partes escritas directamente en lenguaje ensamblador.
Los emuladores existen gracias a que los PCs actuales gozan de prestaciones superiores a los sistemas que emulan. Cuando se desea utilizar software para emular hardware, la velocidad es entre 5 y 10 veces inferior pero como el Spectrum es entre 100 y 1000 veces inferior a un PC actual, éstos no tienen dificultades (les sobra tiempo) para emular por software los chips que componen el ZX-Spectrum.
El PC virtual dispondrá de su propia BIOS, su propio Procesador, su propia Memoria y su propio disco duro virtual que en realidad será un archivo dentro del PC real.
En dicho PC virtual podremos instalar el sistema operativo que deseemos (Windows 95-98-XP, Linux, ...) totalmente independiente de nuestro sistema operativo real y hacer las pruebas que deseemos (formatear el disco duro, realizar particiones, instalar y configurar el sistema operativo) sin alterar el sistema operativo de nuestro PC real.
Como ya se ha mencionado en el punto anterior, un sistema virtual tiene un rendimiento entre 5 y 10 veces inferior al sistema real, por lo tanto, si disponemos de un PC a 3000 MHz, el rendimiento del PC virtual será similar al de un PC cuya velocidad oscile entre 300 y 600 MHz aproximadamente.
Existen varios emuladores de PC tanto comerciales como libres. Los comerciales son más fáciles de instalar, configurar y manejar y son más rápidos y más semejantes en su comportamiento a los PCs reales. Los más conocidos son 'vmware' y 'virtual PC'. De vmware existen versiones tanto para Linux como para Windows pero de virtual PC solo existen versiones para Windows.
Los emuladores de PC libres son aplicaciones en desarrollo y su calidad no alcanza la de los emuladores de pago pero cubren nuestras necesidades de forma satisfactoria. Los más conocidos son Bochs y qemu. De ambos existen versiones tanto para Windows como para Linux. En las pruebas que hemos realizado, qemu ha mostrado un rendimiento mayor que Bochs, por lo tanto de ahora en adelante usaremos qemu.
Para más información buscar en google, yahoo o tu buscador favorito los siguientes términos: emuladores de PC, PC emulator, vmware, virtual PC, bochs, qemu.
»http://fabrice.bellard.free.fr/qemu/
En ella encontraremos la documentación (en Inglés) y podremos descargar los fuentes de la última versión de qemu para Linux ya que es el sistema operativo para el cual se ha creado. Existe también la versión para Windows pero se alberga en otra página web a la cual se puede acceder desde la página web del proyecto.
// Instalación de qemu# apt-get install qemu
De esta manera se instalará automáticamente el paquete qemu y todos los paquetes necesarios para ejecutar qemu. Esta es la manera recomendada de instalar cualquier aplicación en debian.
Ejemplo, si introducimos el CD de Damn Small Linux en el lector de CDs, podríamos ejecutar:
// Ejemplo lanzar qemu$ qemu -m 128 -cdrom /dev/cdrom -boot d -k es -std-vga -net nic -net tap
Al lanzar el comando estamos pasando al programa varias opciones:
Qemu no dispone de ningún archivo de configuración, por tanto es necesario indicar las distintas opciones de configuración a la hora de lanzar la aplicación. Esto no supone ningún problema para los usuarios que tengan experiencia en el uso del MS-DOS o Linux ya que serán capaces de crear archivos de shell (como los bat en MS-DOS) con las distintas opciones para no tener que escribirlas cada vez que queramos lanzar qemu. Existen algunos front-ends (programas auxiliares que facilitan el manejo de una aplicación) de qemu para Linux como Kqemu y qemu-Launcher que simplifican su uso. Éste último se puede instalar con apt-get añadiendo en el archivo /etc/apt/sources.list el siguiente repositorio:
deb http://emeitner.f2o.org/debian/ ./
Para obtener más ayuda consultar la carpeta /usr/share/doc/qemu/. También en la página del manual de qemu.