Monografias.com > Computación > Hardware
Descargar Imprimir Comentar Ver trabajos relacionados

Emulación y Porting




Enviado por Pablo Turmero



Partes: 1, 2, 3


    Monografias.com

    Emuladores
    Ejecutar el programa original sobre hardware diferente. Normalmente sin acceso al fuente original
    Para ello, simular el funcionamiento del Hardware por Software.
    Pero existe multitud de hardware actual (y futuro) donde queremos que funcione. Portabilidad.
    Proyecto KEEP (Keeping Emulation Environments Portable) http://www.keep-project.eu

    Monografias.com

    Emuladores
    Preservar los sistemas antiguos (y los juegos)
    Datos en ordenadores o soportes que los sistemas actuales no pueden leer.
    El resurgir de los juegos clásicos:
    XBOX Live Arcade
    PlayStation Network
    Nintendo Virtual Console
    Classic Collections
    Las empresas de videojuegos apuestan por sagas clásicas, éxito asegurado.

    Monografias.com

    Emuladores
    Nebula: CPS1, CPS2, NeoGeo, PGM, Konami
    Model2 Emulator: Sega Model 2 (original y revs A,B y C)
    CPS3 Emulator: Capcom CPS3 (CPX3 versión para XBOX)
    Crystal System Emulator: BrezzaSoft Crystal System
    Chankast: Emulador de Dreamcast (Sonido y Maple bus), Naomi (preliminar)
    MAME:
    Colaboración en CPS2,Neogeo, Model 1, Konami (Protecciones)
    Drivers para PGM, Crystal System
    Cores para DSPs y CPU de Model 2
    Sonido para Saturn/Model2 (SCSP) y Dreamcast/Naomi (AICA)

    Monografias.com

    ¿Qué hay dentro de una máquina?
    Monitor, Amplificador, Fuente de alimentación, controles…
    Cableado: Sonido, video, controles:
    Maquinas antiguas: Conexiones específicas para cada juego
    Maquinas recientes (90s): Estándar JAMMA (sonido mono, solo entradas digitales, 2 players, 4 botones)
    (Más recientes JVS (JAMMA2) pocas máquinas)
    Máquinas dedicadas
    Placa (o placas) de juego

    Monografias.com

    Placas de juego
    Standalone. Un juego por placa:
    Cambiar el juego=Cambiar la placa.
    Hardware diferente para cada juego=Código diferente en el emulador.
    Mucho trabajo=1 juego.
    “Sistemas”. Una placa Base + placa(s) con el juego
    El mismo hardware, solo cambian las ROMs=El emulador solo tiene que cargar las roms apropiadas, el resto del código es igual.
    Mucho trabajo=muchos juegos (o no, CPS3 6 juegos, Crystal System 3 juegos)

    Monografias.com

    Placas de juego
    Sistemas de juegos:
    Cartuchos:
    SNK (NeoGeo)
    IGS (PolyGameMaster)
    Rom Board:
    Capcom (CPS1,CPS2)
    SEGA (System16,System32,Model2,Model3,…)
    Namco
    Disco:
    Capcom (CPS3)
    SEGA (Naomi GDRom)
    Standalone:
    Konami (Diseño modular. En MAME librería de componentes básicos)
    Mucha info en www.system16.com. Mantenido por MAMEDevs, información correcta.

    Monografias.com

    Placas de juego
    Capcom CPS3
    IGS PolyGameMaster
    SNK NeoGeo
    Capcom CPS2
    Sega Model2 A-CRX
    Konami Mystic Warrior
    Crystal System

    Monografias.com

    ROMs
    Pasar el código almacenado en las ROMS a un archivo
    Se usan programadores/lectores de ROMs
    Chips DIP: fáciles. Programadores baratos.
    Chips SMD: desoldar + adaptadores caros = que lo hagan los que saben (MAMEDev, The Dumping Project)

    Monografias.com

    Estructura
    Frontend (MAME: OSD)
    Dependiente del sistema operativo, facilita la portabilidad.
    Cargar las ROMs a memoria.
    Acceso a video y sonido.
    Leer controles
    Librería de dispositivos (MAME: Core):
    Procesadores
    Chips de sonido
    Chips de video
    Emulación de máquinas/sistemas (MAME/MESS: Drivers):
    Instanciar dispositivos de la librería
    Asociar mapas de memoria al emulador del procesador
    Conectar chips de la librería (sonido, gráficos) al procesador
    Implementar e interconectar los chips específicos al sistema.
    Ejecución de procesadores (timeslice)

    Monografias.com

    Procesador
    Identificar el procesador (o procesadores) de la placa.
    Conocimiento del lenguaje máquina del procesador.
    Desensamblado de ROMs de programa (DataRescue IDA)
    MAME core: Decenas de emulaciones de procesadores testeadas y funcionales.
    Sistemas de juegos años 90, lo normal: 68000+Z80
    Decenas de emuladores de 68k y Z80.

    Monografias.com

    Procesador
    Ejecutar el programa original (Z80, 68k) sobre un procesador diferente (x86, PowerPC).
    Emulación aproximadamente un 10% de la velocidad original: Emular 10Mhz requiere 100Mhz.
    El núcleo del emulador (core). Debe funcionar 100% igual que el original (incluyendo errores).
    MAME core: Decenas de emulaciones de procesadores testeadas y funcionales.
    Sistemas de juegos años 90, lo normal: 68000+Z80
    Decenas de emuladores de 68000 y Z80 libres. Gran cantidad de documentación para hacerlos

    Monografias.com

    Procesador
    A veces no existe un core ya hecho para el procesador.
    Escribirlo usando los manuales de programación y hardware. Problemas:
    Puede que ya no estén disponibles para descarga. Internet Archive (Manuales de HW Video Model 3)
    Prototipos o procesadores “clasificados”. Ingeniería Inversa (TGP de model 2/2A)
    En japonés (TGPx4 de model 2C)
    Debe funcionar exactamente igual que el original. Pequeños errores causan fallos difíciles de encontrar.

    Monografias.com

    Procesador
    Registros -> Struct…
    Memoria -> Array…
    El emulador lee una instrucción y ejecuta las acciones sobre registros y memoria.
    L/E a memoria (mapa de memoria):
    ROM: Devuelve de un array con el contenido leído de las ROMs
    RAM: Lee/Escribe a array de datos.
    Dispositivos: Ejecuta función del emulador. Parámetros: Dirección a leer/escribir y valor a escribir (o devuelve valor leído).
    Interrupciones. Prioridad, colas,…
    Optimización: Generadores de código, Threaded code, Recompilación dinámica

    Monografias.com

    Procesador
    Verificación en el Hardware = Correr código en la placa y comparar:

    Partes: 1, 2, 3

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter