5 investigaciones de emuladores

16
INVESTIGACiÓN 1 EMULADOR En informática, un emulador es un software que permite ejecutar programas o videojuegos en una plataforma (sea una arquitectura de hardware o un sistema operativo) diferente de aquella para la cual fueron escritos originalmente. A diferencia de un simulador, que solo trata de reproducir el comportamiento del programa, un emulador trata de modelar de forma precisa el dispositivo de manera que este funcione como si estuviese siendo usado en el aparato original. ESTRUCTURA La mayoría de los emuladores solo emulan una determinada configuración arquitectura de hardware - si el sistema de explotación ( o sistema operativo) también se requiere para emular cierto programa entonces ha de ser emulado también. Tanto el sistema de explotación como el programa deben ser interpretados por el emulador, como si estuviese ejecutándose en el equipo original. Aparte de la interpretación del lenguaje de la máquina emulada, es preciso emular el resto del equipo, como los dispositivos de entrada y salida, de forma virtual: si escribir en una región específica de la memoria debe influir en el contenido en pantalla, por ejemplo, esto también debe ser emulado.

Transcript of 5 investigaciones de emuladores

INVESTIGACiÓN 1

EMULADOR

En informática, un emulador es un software que permite ejecutar programas o videojuegos en una plataforma (sea una arquitectura de hardware o un sistema operativo) diferente de aquella para la cual fueron escritos originalmente. A diferencia de un simulador, que solo trata de reproducir el comportamiento del programa, un emulador trata de modelar de forma precisa el dispositivo de manera que este funcione como si estuviese siendo usado en el aparato original.

ESTRUCTURA

La mayoría de los emuladores solo emulan una determinada configuración arquitectura de hardware - si el sistema de explotación ( o sistema operativo) también se requiere para emular cierto programa entonces ha de ser emulado también. Tanto el sistema de explotación como el programa deben ser interpretados por el emulador, como si estuviese ejecutándose en el equipo original. Aparte de la interpretación del lenguaje de la máquina emulada, es preciso emular el resto del equipo, como los dispositivos de entrada y salida, de forma virtual: si escribir en una región específica de la memoria debe influir en el contenido en pantalla, por ejemplo, esto también debe ser emulado.

Típicamente, un emulador se divide en módulos que corresponden de forma precisa a los subsistemas del equipo emulado. Lo más común, es que un emulador este compuesto por los siguientes módulos:

o Un emulador de la unidad central de procesamiento.o Un módulo para el subsistema de memoriao Varios emuladores para los dispositivos de entrada y salida.

SIMULADOR DE CPU

El simulador de la unidad central de procesamiento (CPU) es a menudo la parte más compleja de un emulador. Muchos emuladores son escritos utilizando simuladores de CPU "pre empaquetados", para así poder realizar una emulación fiel y eficiente de una máquina específica.

El simulador de CPU más simple sería un intérprete informático, que sigue el flujo de ejecución del código de programación emulado y, por cada instrucción de código de la máquina emulada, ejecuta en el procesador en que se carga, instrucciones semánticamente equivalentes a las originales.

Esto es posible asignando una variable a cada registro y flag de la CPU emulada. La lógica de la CPU simulada puede ser más o menos traducida directamente a algoritmos de software, creando una re implementación del software que básicamente refleja la implementación original del hardware.

DISPOSITIVOS DE ENTRADA Y SALIDA

Las entradas y salidas unificadas por medio de API no necesariamente reflejan la estructura del bus del hardware real: el diseño del bus está limitado por varios parámetros eléctricos y la necesidad del manejo de programación paralela que la mayoría de las veces puede ser ignorada en la implementación del software.

Aún los emuladores que tratan cada dispositivo como un caso especial poseen una infraestructura básica en común para ello:

manejando interruptores, por medio de procedimientos que fijen banderas legibles por el simulador del CPU siempre que un interruptor sea levantado, permitiendo al CPU virtual "convertir los interruptores (virtuales)".

escribiendo y leyendo de la memoria física, por medio de dos procedimientos similares mientras este lidia con la memoria lógica (contrario a este último, el anterior puede comúnmente ser echado a un lado, y en su lugar se emplean las referencias directas al arreglo de memoria)

BIBLIOGRAFIA: HTTP://ES.WIKIPEDIA.ORG/WIKI/EMULADOR

INVESTIGACIÓN 2

¿CÓMO JUGAR? LOS EMULADORES

Un emulador es un programa que nos permite ejecutar estos juegos clásicos en una máquina diferente a la original, por ejemplo un PC, un tablet, un smartphone, o incluso lo que ha venido a denominarse una retroconso

¿QUÉ ES UN EMULADOR?

Un emulador es un software que permite ejecutar programas o videojuegos en una plataforma diferente a aquella para la cual fueron escritos originalmente. Los emuladores se utilizan para recrear la experiencia de los videojuegos de máquinas recreativas o videoconsolas, en computadoras personales u otras videoconsolas.

¿CÓMO CONSIGO LOS EMULADORES?

La gran mayoría de los emuladores para PC y Mac son gratuitos y se pueden descargar de las páginas webs de sus desarrolladores. En cuanto a smartphones y tablets, algunos son gratuitos pero en muchas ocasiones los mejores son de pago. Se pueden obtener desde las respectivas tiendas de aplicaciones (Apple Store, Google Play, etc) o en las páginas webs de los desarrolladores

¿Son legales los emuladores?

El emulador por sí mismo no es ilegal, siempre y cuando se trate de una aplicación que mediante ingeniería inversa consigue replicar las funciones de la máquina a la que emula. Los programadores de este tipo de aplicaciones suelen dotar al emulador de características adicionales que no estaban contempladas en la máquina original, como la posibilidad de guardar partidas, mejoras del vídeo y audio, trucos, etc.

Respecto a la “Rom” de la máquina emulada en sí misma (su firmware o sistema operativo), si los programadores del emulador han conseguido mediante ingeniería inversa crear un Rom propia que funcione igual a la Rom original de la máquina a la que están emulando, es legal (por ejemplo, emuladores de Super Nintendo).

El problema viene cuando el emulador no incluye la Rom de la máquina (por ejemplo emuladores de Atari Lynx), en este caso es necesario usar la Rom original del fabricante de la consola u ordenador, que tiene derechos legales. Para poder usar dicha Rom original es necesario disponer de la consola u ordenador original. Si usamos la Rom sin disponer de la máquina original estaríamos incurriendo en un delito, pero si

por el contrario, aun conservamos nuestra consola u ordenador original en principio podremos usar la Rom original del fabricante sin problemas.

Copiar las ROMs al dispositivo

Como veíamos en ¿Qué son los emuladores? además del propio emulador necesitamos la imagen digital del juego, lo que se conoce como ROM. Dichas ROMs, normalmente disponibles en forma de archivo ZIP, deberemos copiarlas a nuestro dispositivo, y colocarlas en el directorio que prefiramos. Por ejemplo en Android podemos crear un directorio dentro de la carpeta “sdcard” que se llame “ROMs”, y dentro de este ir creando directorios con el nombre de las consolas a las que correspondan las ROMs: “NES”, “SNES”, etc. La estructura sería por tanto:

BIBLIOGRAFIA: HTTP://WWW.EMULADORESYVIDEOJUEGOS.COM/EMULACION/EMULADOR-MULTICONSOLA-PARA-ANDROID-E-IOS-EXPLICADO-PASO-A-PASO/

INVESTIGACION 3

EMULADOR

Un emulador no es más que un programa como otro cualquiera. Este programa ejecutado en una máquina (por ejemplo, un PC) es capaz de traducir las órdenes de otro programa diseñado para otra máquina muy distinta (por ejemplo, una consola SuperNintendo); de esta forma mediante el emulador nuestro PC será capaz de ejecutar las instrucciones de un juego de SuperNintendo.

Obviamente es necesario disponer del software de SuperNintendo para poder ejecutarlo (por ejemplo, un cartucho con el juego Super Mario World), ya que sin programas el emulador es una máquina inútil. Aquí encontramos el primer problema: ¿ cómo hacer que el emulador lea un cartucho de SuperNintendo ?. El emulador debe ser capaz de "sortear" las limitaciones del hardware en el que se ejecuta ya que, en nuestro caso, el PC carece de zócalo para insertar cartuchos, y menos de SuperNintendo. Pues bien, es necesario transferir la información del cartucho a un fichero que pueda ser leido por el emulador en el PC. Para conseguir esto hay que construir un dispositivo hardware que por un lado lea el cartucho y por otro se conecte al PC para que éste reciba la información. Esta clase de dispositivos no se encuentran en los comercios y son prototipos diseñados por gente que conoce muy bien el hardware de ambas máquinas (PC y

SuperNintendo).

Hardware y código máquina

Todos sabemos que una computadora consta de varios dispositivos hardware (físicos) que tienen como objeto realizar una determinada función.. Estos componentes poseen unas patillas por las cuales reciben órdenes codificadas numéricamente. Un ejemplo hipotético: imagine que tenemos un chip gráfico en nuestro PC modelo "gfx4PC" que entiende los siguientes códigos:

borrar la pantalla avanzar el cursor borrar un caracter

Si el procesador principal le envía el siguiente programa: 18,27,27,12 ejecutará las órdenes correspondientes a los códigos, que en nuestro caso, primero avanzará el cursor, borrará dos caracteres y luego borrará la pantalla. Pero resulta que en nuestra Super Nintendo el chip gráfico es de un fabricante distinto y un modelo "SNESgfx", y que los códigos que entiende son:

borrar la pantalla avanzar cursor borrar un caracter

El mismo programa que teníamos en el PC si lo ejecutamos en una Super Nintendo no hará absolutamente nada (o no hará lo que se pretendía), porque el "código máquina" es distinto, y lo mismo pasará si intentamos ejecutar el código de una SuperNintendo en un PC.

Emuladores para MS-DOS

Estos emuladores generalmente se distribuyen en forma de ficheros comprimidos con extensión .ZIP. Para utilizarlos, una vez descargados de Internet, debemos utilizar una utilidad para descomprimir archivos ZIP, como por ejemplo el PKUNZIP o el WinZIP. Si utilizamos el programa PKUNZIP, que está basado en MS-DOS, deberemos teclear esta orden en una sesión MS-DOS:

pkunzip -d fichero.zip

Tras lo cual se crearán varios ficheros en el directorio actual. Es MUY importante introducir el parámetro -d para descomprimir toda la jerarquía de subdirectorios que pueda contener el fichero comprimido. Para poder usar el programa descompresor pkunzip.exe cómodamente, debe copiarlo a un directorio de búsqueda del sistema, como por ejemplo C:\WINDOWS\COMMAND si usa Windows 95/98 ó C:\DOS si está usando MS-DOS.

Por ejemplo, para utilizar el emulador PaCifiST, el cual está en forma de fichero comprimido en el CD-ROM con el nombre pcst048.zip, y meterlo en una carpeta llamada ATARI en el disco duro que tiene la letra C:, debemos hacer lo siguiente:

1. Abrir una sesión de MS-DOS ó arrancar en modo MS-DOS2. Si no ha copiado el descompresor pkunzip.exe deberá teclear lo siguiente por primera y única vez: copy

pkunzip.exe C:\WINDOWS\COMMAND y pulse la tecla <-/ (INTRO) para copiar el descompresor a su disco duro C:. También puede utilizar las funciones habituales "Copiar" y "Pegar" de Windows, pegando en este caso en la carpeta WINDOWS\COMMAND.

3. Teclear desde la línea de comandos de MS-DOS los siguientes comandos: C: , cd \ , md ATARI , cd ATARI , pkunzip -d U:\ruta\...\pcst048.zip sustituyendo U:\ruta\...\ por la unidad y la ruta hacia la carpeta que contiene el fichero pcst048.zip (por ejemplo, C:\WINDOWS\Escritorio\pcst048.zip), y pulsando la tecla INTRO en vez de poner las comas. Ahora ejecute el comando dir para ver el contenido del directorio donde ha descomprimido el emulador.

4. Una vez hecho esto tendremos los ficheros nuevos que componen el paquete del emulador. De entre estos ficheros debe haber al menos uno con extensión .EXE que será el ejecutable del emulador propiamente dicho; de esta forma, con sólo teclear su nombre en una sesión MS-DOS y pulsar la tecla INTRO entraremos en el emulador. Generalmente también habrá ficheros con extensión .TXT ó .DOC: contienen la documentación del emulador y en ellos información muy importante acerca de su funcionamiento y configuración. Por favor, ES MUY IMPORTANTE LEER LA DOCUMENTACIÓN QUE ACOMPAÑA AL EMULADOR. Bien, ahora abra él/los fichero(s) de texto y lea atentamente lo que en ellos se dice. Si lo hace bien y lo entiende, no necesitará seguir leyendo este tutorial. Para leer un documento de texto, puede usar el Bloc de Notas si usa Windows 95/98 ó bien el programa edit si usa MS-DOS.

5. Algunos emuladores necesitan una copia de la BIOS del sistema original (como la que tienen los PCs). Por ejemplo, los ordenadores Amiga tienen un chip llamado Kickstart que contiene el sistema operativo. Los emuladores de Amiga necesitan un fichero con la imagen de ese chip para poder funcionar. En general todos los emuladores de computadoras necesitan la imagen de la ROM de la respectiva máquina, aunque también algunas consolas como por ejemplo la Neo Geo y la Atari Lynx. Vea la sección "Configurar el emulador" más adelante, para saber más sobre esto.

Cargar un juego en el emulador

Una vez ejecutado el emulador, y si todo va bien, pueden suceder tres cosas:

1. El emulador muestra un mensaje y vuelve a salir al MS-DOS :En este caso el emulador necesita que le digamos desde la propia línea de comandos el fichero con el juego que queremos ejecutar. Por

ejemplo, si se trata del emulador de Master System BrSMS y queremos jugar al juego alexkidd.sms que está en el directorio juegos\master\cartucho de la unidad de CD-ROM D:, deberemos poner: brsms D:\juegos\master\cartucho\alexkidd.sms. De esta forma le estamos diciendo al emulador qué juego queremos cargar.

2. El emulador muestra un menú con varias opciones : Tendremos que seleccionar la opción que nos permita cargar el juego. Por ejemplo, si estamos en el emulador de Spectrum X128 debemos seleccionar la opción Load TAP File si queremos cargar una cinta. De esta forma se abrirá una ventana de selección de archivos desde donde podremos navegar por el árbol de directorios de nuestro disco duro para encontrar el juego con extensión .TAP ó .TZX que queremos cargar. Generalmente la opción de cargar un juego se denota en los emuladores de la forma: "Load ROM", "Select ROM", "Change ROM", "Load Disk", "Insert Disk", "Insert Tape", etc... ROM, Disk y Tape (cartucho, disco y cinta) son los medios físicos que acepta la máquina emulada y que son emulados mediante ficheros normales de PC. Por ejemplo, un fichero con extensión .SMD como ALEXKIDD.SMD contiene el volcado (imagen) del cartucho de Sega MegaDrive con el juego Alex Kidd.

3. El emulador muestra el sistema operativo de la máquina emulada : Debemos leer la documentación para saber si tenemos que pulsar una tecla para acceder al menú de opciones (lea el punto 2), o bien debemos especificar el juego desde la línea de comandos (lea el punto 1).

Es muy importante señalar aquí que cada emulador admite un formato de fichero distinto. Por ejemplo, un fichero que tiene la extensión .TAP es una cinta de Spectrum y sólo puede ser utilizada por emuladores de Spectrum, un fichero de extensión .SMD contiene un cartucho de Sega MegaDrive, y así con decenas de archivos distintos. Lea la documentación que acompaña al emulador para averiguar que tipos de archivos utiliza y cómo cargarlos.

BIBLIOGRAFIA:HTTP://SINCLAIRMANIA.SPECCY.ORG/COMO.HTML#5.1

INVESTIGACIÓN 4

EMULADOR

Los emuladores son programas que transforman el PC en otro tipo de ordenador. Los hay de muchas clases: emuladores de ordenadores antiguos (Amstrad, Spectrum), de máquinas recreativas, de cónsolas...

Los de ordenadores antiguos llevan bastante tiempo circulando. Si alguno conserva todavía decenas de cintas con juegos, puede sustituirlas por unos pocos diskettes.

Pero la gran

revolución ha sido la aparición de emuladores de cónsolas recreativas. Cuántas veces hemos gastado moneda tras moneda para no conseguir pasar un nivel o que siempre nos matase el mismo bicho. Ahora podemos jugar gratis a más de 700 juegos que hace unos pocos años estaban en los salones. La emulación es muy buena, ya que la información original del juego(cartuchos ROMs) es traducida directamente a software legible por el emulador.

El emulador más conocido es MAME. Es el más versátil porque soporta juegos de casi todas las recreativas. Otros emuladores como Callus o Neorage están dedicados a los juegos de Capcom y Neo-Geo.

Tipos de emuladores de móvil

Se dividen en tres categorías principales:

Emuladores de dispositivos: Generalmente los ofrecen los fabricantes de dispositivos y simulan el dispositivo real. Son válidos para las pruebas de aplicación del sitio web en un dispositivo o conjunto de dispositivos.

Emuladores de navegadores: Simulan los navegadores de los entornos móviles. Son útiles para determinan la funcionalidad disponible en un navegador, pero no valen para la prueba específica del dispositivo.

Emuladores del sistema operativo: Microsoft proporciona emuladores para Windows Mobile y Google proporciona un emulador de Android. Se ejecutan en un entorno simulado de dispositivos móviles y proporcionan acceso a aplicaciones que se ejecutan en el sistema operativo.

Problemas con los emuladores

Hay que saber que no porque el sitio web funcione perfectamente en un emulador, funcionará de la misma manera en el dispositivo real. A menudo hay muchos emuladores que difieren sutilmente de los dispositivos que simulan. Especialmente en el caso de que el desarrollador del emulador no sea el creador original del dispositivo.

Los emuladores se utilizan para abarcar una amplia gama de dispositivos a los que no se tendría acceso y poder corregir cualquier error que se encuentre, pero también conviene asegurarse de probar el sitio web en algunos dispositivos reales.

Emuladores más populares

Las siguientes compañías ofrecen emuladores para todos o algunos de sus dispositivos móviles (véase la lista a continuación no son

exhaustivos):

Research in Motion (BlackBerry) Apple (iPhone) Samsung Palm LG

Emuladores para dispositivos móviles:

Device Anywhere MobiReady OperaMini W3C Mobile OK Checker dotMobi Emulator iPhoney

Emuladores de funcionamiento del sistema están disponibles en:

Microsoft (Windows Mobile) Google (Android) Nokia (Series 40 and Series 60)

BIBLIOGRAFIA: HTTPS://SITES.GOOGLE.COM/SITE/MLIBURUTEGIA10/EMULADORES

INVESTIGACIÓN 5

EMULADOR

5 emuladores de consolas de videojuegos para Linux

No se puede negar que la calidad de los videojuegos de hoy en día es excelente, que hay muchísimas alternativas a escoger a la hora de jugar y que los juegos cada vez se vuelven más complejos y elaborados; sin embargo, hay quienes todavía disfrutan recordando sus viejas consolas y todas las divertidas tardes que pasaron junto a ellas.

Si tu eres parte de este grupo de jugadores y además eres usuario de Linux, te encantará saber que todavía puedes revivir tus mejores victorias gracias a la lista de emuladores para este sistema operativo

1. Stella

Gracias a Stella podrás disfrutar de la consola de videojuegos más famosa en la época de 1980. Stella es un proyecto bajo la licencia GNU-GPL que busca emular el Atari 2600. Fue creado originalmente para Linux, pero actualmente también es compatible con Mac OSX, Windows y otros sistemas operativos.

Los requisitos generales para ejecutar Stella son:

1) SDL versión 2.0.3 o superior.2) Tarjeta de gráficos, mínimo de color 15/16 bit.3) Al menos 256Mb de memoria RAM.4) Joysticks o gamepads (opcional pero recomendado.5) Algunas imágenes ROM.

2. FUSE

FUSE son las siglas de Free Unix Spectrum Emulator, se trata de un emulador para la consola Sinclair Spectrum (ZX Spectrum), muy popular en el Reino Unido en la década de los 80s. Los primeros modelos de este ordenador fueron utilizados principalmente como consolas de videojuegos, a pesar de su falta de puertos integrados para joystick, sin embargo existieron gran cantidad de complementos de hardware comercializados por Sinclair, entre ellos el ZX Interface 2 que añadía dos puertos de joystick y uno para cartuchos ROM.

3. Kega Fusion

Kega Fusion es un emulador de la consola Sega Mega Drive, aunque también puede emular todas las consolas de Sega lanzadas antes de la Saturn (Cómo instalar y configurar un emulador de Sega Saturn). Fue escrito en lenguaje ensamblador y posee una velocidad única que supera la de todos sus competidores.

En un ordenador con microprocesador Pentium III o similar, Kega Fusión puede ejecutar una ROM de Mega Drive a 50 o 60 fotogramas por segundo. Además admite el registro de un archivo WAV o VGM (el sucesor de GYM, un formato de audio para Sega Génisis, similar a NSF). Kega Fusión 3.5 soporta el modo multijugador en Internet o en red local.

4. Nestopia

Nestopia es un emulador de código abierto para NES (Nintendo Entertainment System). Fue escrito en C++, pero a diferencia de otros, originalmente solo era compatible con Windows, posteriormente R. Belmont adaptó el programa para que corriera en plataformas Linux, hoy en día está disponible para Ubuntu, Arch Linux, Debian, OpenBSD y otras distribuciones

BILIOGRAFIAS: HTTP://HIPERTEXTUAL.COM/ARCHIVO/2015/01/EMULADORES-CONSOLAS-VIDEOJUEGOS-PARA-LINUX/