PDF de programación - EMULADOR DE GAMEBOY PARA DISPOSITIVOS MÓVILES

Imágen de pdf EMULADOR DE GAMEBOY PARA DISPOSITIVOS MÓVILES

EMULADOR DE GAMEBOY PARA DISPOSITIVOS MÓVILESgráfica de visualizaciones

Publicado el 3 de Marzo del 2017
1.317 visualizaciones desde el 3 de Marzo del 2017
13,8 MB
151 paginas
Creado hace 12a (11/09/2007)
UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORMÁTICA

INGENIERÍA

EN INFORMÁTICA

PROYECTO FIN DE CARRERA

EMULADOR DE GAMEBOY PARA DISPOSITIVOS MÓVILES

Ángel Roldán Carrasco

Septiembre, 2007

UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORMÁTICA

Departamento de Informática

PROYECTO FIN DE CARRERA

EMULADOR DE GAMEBOY PARA DISPOSITIVOS MÓVILES

Autor: Ángel Roldán Carrasco

Director: Carlos Gonzalez Morcillo

Septiembre, 2007

© Ángel Roldán Carrasco. Se permite la copia, distribución y/o modicación de este documento
bajo los términos de la licencia de documentación libre GNU, versión 1.1 o cualquier versión
posterior publicada por la Free Software Foundation, sin secciones invariantes. Puede consultar esta
licencia en http://www.gnu.org.

TRIBUNAL:

Presidente:
Vocal:
Secretario:

FECHA DE DEFENSA:

CALIFICACIÓN:

PRESIDENTE

VOCAL

SECRETARIO

Fdo.:

Fdo.:

Fdo.:

ii

RESUMEN

La emulación consiste en imitar el comportamiento de un sistema hardware o
software sobre otro diferente al primero, de manera que para un observador externo el
segundo sistema se comporte como el primero.

Es una técnica que está a la orden del día. Términos como máquina virtual,

emulador o virtualización se oyen con frecuencia en el ámbito de la informática.

Por otro lado, el mercado de las PDA's y otros dispositivos móviles ha
experimentado un importante crecimiento debido al abaratamiento de costes y el aumento
de sus prestaciones, lo que ha posibilitado el desarrollo de un conjunto de frameworks
alrededor de estos sistemas que permiten el desarrollo de aplicaciones de un modo rápido,
portable y flexible.

Para la arquitectura PC, existen multitud de emuladores de videoconsola, siendo
muchos de ellos software libre. Sin embargo, para dispositivos móviles como PDAs
(Pocket PC o Palm) hay pocas alternativas y muy pocos de ellos son libres. En el proyecto
GINAGE, se pretende desarrollar un emulador libre de Game Boy que sea multiplataforma
para PC y varios dispositivos de tipo PDA.

iii

A mis padres, mi familia y amigos, por apoyarme
en todo momento y tener confianza en mi.

AGRADECIMIENTOS

A Carlos por sus consejos, su tiempo y sus “empujones” periódicos en forma de e-

mails.

A todos los que colaboraron en las pruebas de rendimiento: Ángel, Jose Antonio,

Juan, Miguel Ángel, Carlos y Anastasio.

A Ángel y Jose Antonio por el ánimo que me han dado y por la ayuda prestada.
A todos los que hacen posible que el software libre exista y crezca día a día.

A todos vosotros, muchas gracias.

iv

Índice de contenido
RESUMEN.............................................................................................................................5
Notación............................................................................................................................... 13
Acrónimos............................................................................................................................ 14
Capítulo 1. INTRODUCCIÓN.............................................................................................15
1.1 Antecedentes.............................................................................................................15
1.2 Estructura de éste documento................................................................................... 16
Capítulo 2. OBJETIVOS DEL PROYECTO....................................................................... 18
Capítulo 3. ESTADO DEL ARTE....................................................................................... 19
3.1 Conceptos previos sobre emulación......................................................................... 19
3.1.1 ¿Que es un emulador?.......................................................................................19
3.1.2 Tipos de emuladores......................................................................................... 20
3.1.3 Los emuladores de videoconsola o arcade........................................................ 22
3.1.4 Utilidades comunes de los emuladores............................................................. 26
3.1.5 Aspectos legales................................................................................................26
3.1.6 La obtención de ROMs..................................................................................... 28
3.1.7 Emuladores conocidos de Game Boy para diferentes plataformas................... 32
3.2 Breve historia de las portátiles de 8 bits de Nintendo.............................................. 47
3.3 El hardware de una videoconsola............................................................................. 49
3.3.1 Consolas de 8 y 16 bits..................................................................................... 49
3.3.2 Consolas de 32 bits a las actuales..................................................................... 51
3.4 El hardware de la Game Boy.................................................................................... 52
3.4.1 Introducción...................................................................................................... 52
3.4.2 Diferencias entre Game Boy y Game Boy Color.............................................. 55
3.4.3 CPU...................................................................................................................55
3.4.4 Memoria............................................................................................................60
3.4.5 Hardware de Video........................................................................................... 66
3.4.6 Cartuchos.......................................................................................................... 76
3.4.7 Otros periféricos (no emulados)........................................................................80
Capítulo 4. MÉTODO DE TRABAJO.................................................................................83
4.1 Decisiones de diseño.................................................................................................83
4.1.1 Elección del sistema a emular...........................................................................83
4.1.2 Elección del lenguaje y la plataforma............................................................... 83
4.1.3 Elección del tipo de emulador...........................................................................84
4.1.4 Elección del modelo de desarrollo....................................................................85
4.2 El ciclo de desarrollo en emulación..........................................................................85
4.2.1 Metodología evolutiva orientada a prototipos.................................................. 86

v

4.2.2 Las pruebas....................................................................................................... 87
4.2.3 Ventajas de la metodología evolutiva orientada a prototipos........................... 88
4.3 Arquitectura del sistema........................................................................................... 88
4.3.1 Diagrama de estados genérico...........................................................................92
4.3.2 La clase CPU.....................................................................................................94
4.3.3 La clase Video.................................................................................................102
4.4 Fases en el desarrollo (Algunas iteraciones del modelo)........................................112
4.4.1 Lectura de metadatos de una ROM (cabecera)............................................... 112
4.4.2 Generación del switch de procesamiento de instrucciones.............................113
4.4.3 Comparativa de pintado de imágenes de Ewe y Superwaba...........................113
4.4.4 Implementación de readByte() writeByte() y reset().......................................113
4.4.5 Pruebas de rendimiento de implemetación de instrucciones y Flags..............113
4.4.6 Pruebas de accesos aleatorios a memoria........................................................114
4.4.7 Emulación de la ROM homebrew Apocalipsis Now......................................114
4.4.8 El soporte de Video y E/S............................................................................... 114
4.4.9 Soporte a más homebrew: Game Boy Demo, BigScroller y LandScape........ 114
4.4.10 La reescritura del pintado de la pantalla....................................................... 115
4.4.11 La primera ROM comercial: “Castlevania 2 – Belmont's Revenge”............115
4.4.12 Varias ROMs comerciales funcionando y soporte a GBC............................115
4.4.13 Mejoras en Ewe.............................................................................................115
4.4.14 La creación de la GUI................................................................................... 116
4.4.15 Mejoras......................................................................................................... 116
4.4.16 La versión final............................................................................................. 116
4.5 Consideraciones para mejorar la eficiencia............................................................ 116
4.6 Software utilizado durante el desarrollo................................................................. 117
Capítulo 5. RESULTADOS............................................................................................... 118
5.1 ROMs comerciales soportadas............................................................................... 118
5.2 Comparativa de eficiencia en diferentes arquitecturas........................................... 121
5.2.1 Organización de las pruebas...........................................................
  • Links de descarga
http://lwp-l.com/pdf2520

Comentarios de: EMULADOR DE GAMEBOY PARA DISPOSITIVOS MÓVILES (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad