Maquinas recreativas, emuladores y MAME

Slides:



Advertisements
Presentaciones similares
H A R D W A R E Son todas las partes físicas y tangibles de una computadora. Esto incluye sus componentes eléctricos, electrónicos, electromecánicos y.
Advertisements

Escuela Santo Hermano Miguel
LOS ORDENADORES Rubén Granada.
El ordenador ELOY PUEYO GIMENO.
Componentes de una computadora
A través de estos simples pasos logrará identificar si su empresa necesita un nuevo equipo.
Virtual PC.
 Es un sistema operativo desarrollado y comercializado por Apple.  Mac OS es un sistema perfecto que sólo funciona en ordenadores Apple, este sistema.
Introducción al software
Ordenador, computadora P.C. Conceptos.
SISTEMAS OPERATIVOS.
Estructuras en Sistemas Operativos
Windows XP sp3.
Windows e Internet.
Es un Sistema operativo de red. Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de.
Preservación de maquinas recreativas: Emuladores
Arquitectura de ordenadores
INTEGRANTES MEDINA ORTIZ MISSAEL MARTIN GONZALEZ MADRIGAL OMAR
Bloque I Informática Básica.
Daniel García Pereira.  Introducción  Recorrido histórico Generación Game & Watch Generación Game Boy Generación DS  Arquitecturas principales  Futuro.
1 Aula de Informática del Centro de Participación Activa para Personas Mayores de El Ejido (Almería). Consejería Territorial de Salud y Bienestar Social.
La memoria de acceso aleatorio (en inglés:random- access memory, cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones.
Sistema Operativo. ¿Qué es el Sistema Operativo? Un sistema operativo (SO) es el conjunto de programas y utilidades software que permiten al usuario interactuar.
Función Estructura y composición Tipos
Emulador “Multiple Arcade Machine Emulator” para la consola GP32
INTRODUCCIÓN INFORMÁTICA
Presentación de visión general de producto Publicación 1.0 9/4/07 Distribución externa MKT-SD-P-001E.
EL COMPUTADOR.
Hardware HNAS Álvarez Hnos. Barón.
Instalación de una tarjeta de red y modem en un dispositivo
Características de un sistema operativo
LOS SISTEMAS OPERATIVOS
Capítulo 7 Gestión de memoria.
María Camila Torres Quiroz 10 informática 2 CEFA 2012
MANTENIMIENTO PREVENTIVO Y CORRECTIVO
Chips Controladores Pequeño circuito electrónico utilizado para realizar una función electrónica especifica. El chips es el que hace posible que la placa.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
integrantes: colmenares lennin Márquez Arnaldo
PARTES INTERNAS DEL PC.
Clase #7 – Sistemas de Procesamiento de Datos
Tema 4. VÍDEO DIGITAL.
TIPOS DE PROCESADOR INTEL PENTIUM II El procesador utiliza la tecnología de alto desempeño Dual Independent Bus para entregar un amplio ancho de banda.
El Ordenador: Elementos Básicos
Computadoras Analógicas Computadoras Digitales
Es la parte lógica y está formada por los programas.
EL MODEM La misión fundamental de un módem es hacer posible el intercambio de datos entre dos ordenadores a través de la red telefónica. Con el paso del.
Sistemas Operativos I Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computación destinados a realizar muchas tareas.
Sebastian Madrid Perez
Sistemas Operativos Antonio De León.
¿Cómo funcionan los videojuegos? Una consola de videojuego es simplemente una computadora muy especializada. Muchas de las consolas usan un componente.
Ordenadores: hardware y software
Tipos de computadores Personales.
UABJO LIC. EN CONTADURÍA PUBLICA INFOMATICA I MAC SISTEMAS OPERATIVOS
CONTENIDO 2: HARDWARE Y SOFTWARE
EL ORDENADOR PERSONAL Aparato electrónico que sirve para procesar información (transformarla para que sea útil. Para hacerlo codifica la información (descompuesta.
Introducción a GDevelop
LOS COMPONENTES DE UN PC. LA PLACA BASE Es el elemento principal de todo ordenador, al que se conectan todos los demás dispositivos. Se trata de una placa.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
COMPONENTES DE UNA COMPUTADORA Informática básica Básicamente, una máquina cuya función es procesar información… …de diferentes tipos: texto, imagen,
ESTACIONES DE TRABAJO..
HARDWARE – SOFTWARE - MANTENIMIENTO Presentado por: Andrey Muñoz Dayana Cubillos Sandra Hernández.
Definición De Software Y Hardware
Felipe Díaz Toro Daniel López. El procesador, también conocido como CPU o micro, es el cerebro del PC. Se encarga de hacer funcionar a las aplicaciones.
FUNCIONAMIENTO DEL EQUIPO DE COMPUTO
ESTRUCTURA INTERNA DE UN ORDENADOR
Miguel Ángel Horna (ElSemi) Zaragoza, 16 de Diciembre de 2013 ¿Qué es un emulador? ¿Qué son las ROMs? ¿Cómo funciona un emulador? Porting de juegos Autor:
ANTOLOGÍA MICHELLE RIVERA OLIVARESY ANDREA LOPEZ 1-SEMESTRE
 Nombre : Porras Vergara Victor  Profesor : Ivan Mechan Zapata  Código : 205 MB  Curso : Autocad.
ORDENADOR HARDWARE UNIDAD CENTRAL Microprocesador memoria PERIFÉRICOS Teclado, ratón, Escáner, Impresora, Webcam, lápiz, Etc. SOFTWARE SISTEMAS OPERATIVOS.
Universidad Tecnológica de Aguascalientes Informática I.
Transcripción de la presentación:

Maquinas recreativas, emuladores y MAME ¿Qué hay en una máquina recreativa? ¿Qué son las ROMs? ¿Cómo funciona un emulador? ¿Qué es MAME? Autor: Miguel Ángel Horna (ElSemi) Zaragoza, 13 de Noviembre de 2008

Emuladores Ejecutar el programa original de la máquina recreativa en un PC o consola actual. Preservar los juegos y sistemas clásicos. El resurgir de los juegos clásicos: XBOX Live Arcade PlayStation Network Nintendo Virtual Console Classic Collections Ahora las empresas de videojuegos buscan emuladores Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

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 desde 2004): 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) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

¿Qué hay dentro de una máquina? Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

¿Qué hay dentro de una máquina? Monitor, Amplificador, Fuente de alimentación, controles… Placa (o placas) de juego 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 Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

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) (o cartuchos) con el juego El mismo hardware, solo cambian las ROMs=El emulador solo tiene que cargar las roms apropiadas Mucho trabajo=muchos juegos (o no, CPS3 6 juegos, Crystal System 3 juegos) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Placas de juego Sistemas de juegos: Standalone: 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. Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Placas de juego Capcom CPS3 IGS PolyGameMaster SNK NeoGeo Capcom CPS2 Sega Model2 A-CRX Konami Mystic Warrior Crystal System Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Placas de juego SF3 2nd Impact (CPS3) Knights of Valour Super Heroes (PGM) Daytona USA (Model 2) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

ROMs Almacenamiento del juego (programa, gráficos, sonido) en memorias ROM. Relativamente baja capacidad en la época (max 4MB por chip): Muchos chips para juegos grandes. ¿Por qué no CD? Acceso lento comparado con ROMs. Siempre en marcha. Lo que se mueve se rompe . Problema de las ROMS: se pueden copiar -> Protección. Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

ROMs Dump: Pasar el código almacenado en los chips de memoria ROM 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) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

ROMs Cartucho CPS3 (BIOS + protección) Virtua Fighter 2 (Model 2) KOF 2003 (Neogeo PCB) Cartucho PGM KOF 99 (Neogeo Cartucho) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

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 Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

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. Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Mapa de memoria ¿Que hay en cada rango de memoria? RAM, ROM Registros de vídeo, RAM de vídeo, tilemaps, sprites, display lists Registros de sonido Puertos de E/S (Controles) Protección Test de memoria del menú de servicio, da pistas sobre qué hay en cada área (a veces). Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Gráficos Hardware sistemas 2D: Framebuffers Tilemaps + Sprites Dibujar toda la pantalla cada frame pixel a pixel Procesadores lentos=Haría falta un procesador dedicado a dibujar (existen sistemas así). Blitters (DMAs de ROM/RAM a Framebuffer con efectos) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Gráficos: Tilemaps Dibujado por hardware, 0% de CPU. Mosaico de pequeñas piezas. Piezas (Tiles) en ROM, no se pueden cambiar. Gráficos limitados a los tiles existentes en ROM. Mosaico mas grande que la pantalla. Scroll H/V cambiando un registro. Movimiento “gratis” para la CPU. Características avanzadas Transparencia Prioridad mezclada con los sprites Linescroll, Columnscroll ROZ Se usan para fondos, suelos, texto,… Es algo estándar y con poca variación entre sistemas. Librería estándar en MAME Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Gráficos: Tilemaps Para emularlo, se recorre la memoria igual que el HW y se pintan las capas una sobre otra empezando por la de mas atrás. Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Gráficos: Sprites Gráficos posicionables en pantalla. Generalmente compuestos de pequeños bloques (como los tilemaps) Gráficos limitados por los tiles existentes en ROM. Escalado, rotación, transparencia Se usan para los elementos que se mueven por la pantalla (personajes, enemigos, disparos…) Varias capas entre los tilemaps Número máximo de sprites simultáneos por pantalla. Igual que los tilemaps, librería genérica en MAME Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Gráficos: Sprites Tilemaps + Sprites Imagen Final Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Gráficos CPS1/CPS2: 3 Tilemaps (32x32,16x16,8x8 orden programable) + Sprites NeoGeo: 1 Tilemap (8x8, fijo) + Sprites PGM: 2 Tilemaps (8x8,16x16 orden fijo) + Sprites Crystal System: Blitter Model2: 2 Tilemaps (8x8 orden programable) + 3D. Generalmente se dibuja todo por software pixel a pixel (MAME) pero con las tarjetas actuales (Pixel Shader), intentar pasar carga a la tarjeta (Nebula, Model2) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Gráficos Sprites (Posición) Tilemap Texto (mascara) Tilemap Texto (Color) Tilemaps Scroll Final Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Gráficos: 3D Sistemas 3D propietarios. No existían estándares 3D aun. Generalmente de origen militar. Principios de los 90. Chips dedicados a operaciones 3D generalmente prototipos o clasificados. Rasterización: Software render: Pixel accurate, más lento (MAME) Direct3D: Menos preciso. Más rápido, aprovecha tarjetas 3D (Model2 Emulator) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Gráficos: 3D Evolución de la emulación de 3D del emulador de Model2 Geometría Color Texturas Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Sonido Almacenar el sonido digitalizado en ROM no era práctico: No existía MP3, grabación del sonido “en bruto”. Ocupa mucho espacio de ROM. Muy caro. La solución: Almacenar partitura + instrumentos. Voces y efectos digitalizados en ROM. Compresión ADPCM. Mucha distorsión. Generalmente un procesador dedicado a manejar sonido. Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Sonido Componentes “discretos” FM (Frequency Modulation) Sample mixers Osciladores, filtros, electrónica Librería de simulación de redes electrónicas (MAME) Anteriormente, emulación con grabaciones de la máquina (Samples) FM (Frequency Modulation) Chips Yamaha. Sonido “electrónico”. MAME: librería completa de chips Yamaha (menos mal). Sample mixers Diseño propio Sonido digitalizado Varios canales, bucles, frecuencia variable. Normalmente un procesador aparte dedicado a sonido Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Protección Las memorias ROM se pueden copiar. Sistemas de juegos. Sólo hacen falta las ROMs para cambiar de juego. Mercado pirata. Bootlegs. Para evitarlo: Protección anti-copia. Efectos colaterales (involuntarios en la época): También significa protección anti-emulación. A veces los piratas también protegían sus versiones, generalmente mejor que el original. Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Protección Dongles (Mochila) Encriptación Coprocesadores SEGA (System32, Model2, Model3). Infrautilizada, fácil de emular. Encriptación Capcom (CPS2,CPS3), IGS (PGM), SNK (Neogeo), Gaelco Buscar puntos débiles para extraer los datos desencriptados (BIOS). Coprocesadores IGS (PGM), Konami “Adivinar” el funcionamiento a partir de los parámetros. Si es programable, obtener el programa (tablas sin bounds check, decapping). Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Protección Extraer los datos no es fácil: Datos a pantalla + Fotografía + Teclear a mano (Martial Masters: 16KB a mano). Conexión Placa <-> PC Decapping + microfotografía Extracción de programa de protección Martial Masters Cable de conexión JAMMA <-> Puerto Paralelo de PC Microfotografía de ROM de MCU de sonido de Namco Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Cuando todo funciona Emular características poco usadas del hardware o que tengan pequeños fallos. Optimización Profiling: encontrar las funciones críticas Optimización a ensamblador (MMX).No portable. Multiprocesador. Otras características del emulador Filtros gráficos Savestates (a veces es bueno tenerlos antes) Netplay Trucos (Cheats) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

MAME 1997: Nicola Salmoria desarrolla un emulador de Pac-Man para MS-DOS de código abierto. Separa el emulador en una librería genérica + “Drivers” para los juegos. El proyecto crece y se unen programadores de todo el mundo. La filosofía de MAME: Documentar el hardware. Poder jugar es un “efecto secundario”. El objetivo es la máxima precisión de la emulación: Toda la emulación gráfica por software. Mezcla de sonido por software. Se intenta que todo sea Pixel Accurate. Portabilidad (DOS, Windows, Mac, Xbox, PDAs …) En general, es mas lento que los emuladores específicos Miles de juegos emulados Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

MAME Código abierto. Cualquiera puede contribuir MAMEDev. Equipo de desarrollo: Decenas de miembros de todo el mundo (en la lista de desarrollo hay unos 70 miembros) Casi todos los programadores de emuladores “standalone” están en MAME también. Un responsable del proyecto No solo programadores, tambien traductores, dumpers, grafistas, testers, matemáticos FTP con roms, manuales, documentos, datasheets… Mailing list, IRC (no oficial) Repositorio SVN para el código En general, una release al mes, con releases intermedias semanales. Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

MAME El código abierto presenta algunos problemas Versiones derivadas con caracteristicas no deseadas Uso del código sin permiso en emuladores comerciales Uso no autorizado en maquinas "arcade" multijuegos (junto con roms) La licencia presenta problemas a la hora de usarla contra usos no autorizados Lo que se puede denunciar es el uso de la marca MAME, registrada por Nicola. Es legal MAME? El emulador sí, lo ilegal es la ROM. Algunas empresas de videojuegos han licenciado el código de MAME para sus recopilaciones (Konami) Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

MAME En general todo lo posible está emulado (años 80 y mitad 90) Lo que falta se debe a: Encriptación Protección Hardware muy complejo (sistemas 3D) Problemas legales Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

MAME Hitos mas importantes Febrero 1997. Nace el proyecto MAME con el juego PacMan (Z80) Septiembre 1997. Se añade el core para Motorola 68000 (para el juego Rastan) Enero 1998. Se añade la emulación de los chips FM de yamaha y drivers para CPS1 Agosto 1998. Se añade soporte para NeoGeo Febrero 1999. Se crea la librería genérica para Tilemaps y Sprites (antes cada juego tenia su propia implementación) Mayo 2001. La versión de Windows pasa a ser la oficial. Mayo 2003. David Haywood (Haze) pasa a ser el coordinador del proyecto. Se crean las releases intermedias (u) Abril 2005. Aaron Giles pasa a ser el coordinador del proyecto. Se comienza a utilizar SVN para mantener el código. Febrero 2007. Se desencripta el sistema CPS2 Junio 2007. Se desencripta el sistema CPS3 Junio 2008. Se emula el World Rally de Gaelco Agosto 2008. Primeros juegos en Laserdisc añadidos a MAME Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

MAME Donde conseguirlo? www.mamedev.org Interface de MAME: Línea de comandos, es un poco "duro" (actualmente también una lista simple de juegos) FrontEnds: Facilitan el uso del emulador: Lista de juegos con imágenes, historia, datos Configuración mediante interface (la original, un .ini) Integración en máquinas (sin teclado ni ratón). MAME32, MaLa, EmuLoader… Información de juegos incluidos en MAME: www.mameworld.net/maws Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)