La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Miguel Ángel Horna (ElSemi) Zaragoza, 13 de Noviembre de 2008 ¿Qué hay en una máquina recreativa? ¿Qué son las ROMs? ¿Cómo funciona un emulador? ¿Qué es."— Transcripción de la presentación:

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

2 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)

3 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)

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

5 ¿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)

6 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)

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

8 Placas de juego Capcom CPS3IGS PolyGameMasterSNK NeoGeo Capcom CPS2Sega Model2 A-CRXKonami Mystic WarriorCrystal System Zaragoza. 13 de Noviembre de 2008 Máquinas recreativas, emuladores y MAME. Miguel Ángel Horna (ElSemi)

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

10 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)

11 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)

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

13 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: Z80 Decenas de emuladores de 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)

14 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)

15 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)

16 Gráficos Hardware sistemas 2D: Framebuffers Tilemaps + Sprites Framebuffers 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)

17 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)

18 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)

19 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)

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

21 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)

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

23 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)

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

25 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)

26 Sonido Componentes discretos 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)

27 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)

28 Protección Dongles (Mochila) 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)

29 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)

30 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)

31 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)

32 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)

33 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)

34 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)

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

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

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


Descargar ppt "Miguel Ángel Horna (ElSemi) Zaragoza, 13 de Noviembre de 2008 ¿Qué hay en una máquina recreativa? ¿Qué son las ROMs? ¿Cómo funciona un emulador? ¿Qué es."

Presentaciones similares


Anuncios Google