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

Actualizado el 2 de Marzo del 2020 (Publicado el 3 de Marzo del 2017)
2.099 visualizaciones desde el 3 de Marzo del 2017
13,8 MB
151 paginas
Creado hace 16a (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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad