UNIVERSIDAD POLITÉCNICA DE MADRID
UNIVERSIDAD POLITÉCNICA DE MADRID
UNIVERSIDAD POLITÉCNICA DE MADRID
ESCUELA UNIVERSITARIA DE INFORMÁTICA
ESCUELA UNIVERSITARIA DE INFORMÁTICA
ESCUELA UNIVERSITARIA DE INFORMÁTICA
TRABAJO FIN DE CARRERA
TRABAJO FIN DE CARRERA
EMULADOR DE SEGA MASTER SYSTEM EN C++
EMULADOR DE SEGA MASTER SYSTEM EN C++
EMULADOR DE SEGA MASTER SYSTEM EN C++
DIRECTOR: JOSÉ GABRIEL PÉREZ DÍEZ
DIRECTOR: JOSÉ GABRIEL PÉREZ DÍEZ
DIRECTOR: JOSÉ GABRIEL PÉREZ DÍEZ
AUTOR: ISRAEL LÓPEZ FERNÁNDEZ
AUTOR: ISRAEL
LÓPEZ FERNÁNDEZ
CONTACTO:
[email protected]
CONTACTO:
[email protected]
CONTACTO:
[email protected]
http://www.retrowip.com
http://www.retrowip.com
FEBRERO 2009
Licencia de uso
Licencia de uso
El presente documento se encuentra licenciado por su autor, Israel López
El presente documento se encuentra licenciado por su autor, Israel López
El presente documento se encuentra licenciado por su autor, Israel López
Reconocimiento-No
licencia de tipo
licencia de tipo Creative Commons “Reconocimiento
Fernández, bajo una
Fernández, bajo una
comercial-Compartir bajo la misma licencia 3.0 España
Compartir bajo la misma licencia 3.0 España”.
Bajo los términos de esta licencia:
Bajo los términos de esta licencia:
Usted es libre de:
Copiar, distribuir y comunicar públicamente la obra
opiar, distribuir y comunicar públicamente la obra.
Hacer obras derivadas
acer obras derivadas.
Bajo las condiciones siguientes:
Bajo las condiciones siguientes:
Reconocimiento.
Reconocimiento. Debe reconocer y atribuir esta obra, “Emulador de
y atribuir esta obra, “Emulador de
SEGA Master System en C++”, a Israel López Fernández
SEGA Master System en C++”, a Israel López Fernández
SEGA Master System en C++”, a Israel López Fernández (pero no de
una manera que sugiera que tiene su apo
una manera que sugiera que tiene su apoyo o apoya el uso que hace
yo o apoya el uso que hace
de su obra), así como incluir un enlace a la página web del
de su obra), así como incluir un enlace a la página web del
de su obra), así como incluir un enlace a la página web del autor
(http://www.retrowip.com).
(http://www.retrowip.com).
No comercial. No puede utilizar esta obra para fines comerciales.
No comercial.
No puede utilizar esta obra para fines comerciales.
Compartir bajo la misma licencia.
Compartir bajo la misma licencia. Si altera o transforma esta obra, o
Si altera o transforma esta obra, o
genera una obra derivada, sólo puede distribuir la obra generada
genera una obra derivada, sólo puede distribuir la obra generada
genera una obra derivada, sólo puede distribuir la obra generada
bajo una lice
bajo una licencia idéntica a ésta.
• Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de
Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de
Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de
la licencia de esta obra.
la licencia de esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso
• Alguna de estas condiciones puede no aplicarse si se obtiene el permiso
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso
del titular de los derechos de autor
del titular de los derechos de autor
licencia menoscaba o restringe los derechos morales del a
• Nada en esta licencia menoscaba o restringe los derechos morales del a
licencia menoscaba o restringe los derechos morales del au-
tor.
Índice de contenidos
Índice de contenidos 1
Índice de contenidos ................................................................ - 1 -
Listado de figuras ..................................................................... - 5 -
Capítulo 1. Introducción. ......................................................... - 7 -
1. Motivación y propósito del estudio. .................................................................. - 7 -
2. ¿Qué se entiende por emulador? ...................................................................... - 8 -
3. Pequeña historia de la emulación. ..................................................................... - 9 -
4. La máquina a emular: SEGA Master System. ..................................................... - 9 -
5. Objetivos iniciales. ........................................................................................... - 11 -
6. Estructuración del documento. ....................................................................... - 11 -
Capítulo 2. Visión global de la SEGA Master System. ............. - 13 -
1. Visión hardware. .............................................................................................. - 13 -
2. Implementación. .............................................................................................. - 14 -
Capítulo 3. La unidad central de proceso (CPU). .................... - 15 -
1. Arquitectura del Z80. ....................................................................................... - 15 -
2. Interrupciones en el Z80. ................................................................................. - 17 -
3. Formato de instrucciones del Z80. ................................................................... - 19 -
4. Grupos de instrucciones. ................................................................................. - 20 -
5. El ciclo de instrucción. ...................................................................................... - 21 -
6. Inicio y reinicio de la CPU. ................................................................................ - 22 -
7. Implementación. .............................................................................................. - 22 -
Capítulo 4. El sistema de entrada/salida y memoria. ............. - 29 -
1. Espacios direccionables independientes. ........................................................ - 29 -
2. Mapa de memoria. ........................................................................................... - 29 -
3. Los mapeadores de memoria. ......................................................................... - 31 -
4. Los registros de marco. .................................................................................... - 33 -
5. Los puertos de entrada/salida. ........................................................................ - 33 -
2 Índice de contenidos
6. Implementación. .............................................................................................. - 34 -
Capítulo 5. El procesador de video (VDP). ............................. - 37 -
1. Descripción general. ......................................................................................... - 37 -
2. Caracteres, tiles y sprites. ................................................................................ - 37 -
3. Las paletas. ....................................................................................................... - 38 -
4. El Generador de Caracteres. ............................................................................ - 39 -
5. El Mapa de Pantalla. ........................................................................................ - 41 -
6. La Tabla de Atributos de Sprites. ..................................................................... - 42 -
7. Prioridades entre capas. .................................................................................. - 45 -
8. Acceso al VDP. .................................................................................................. - 46 -
9. Registros del VDP. ............................................................................................ - 47 -
10. Interrupciones en el VDP. .............................................................................. - 50 -
11. Implementación. ............................................................................................ - 51 -
Capítulo 6. El generador de sonido programable (PSG). ........ - 59 -
1. Descripción general. ......................................................................................... - 59 -
2. Los canales del PSG. ......................................................................................... - 60 -
3. Registros y programación del PSG. .................................................................. - 61 -
4. Implementación. .............................................................................................. - 63 -
Capítulo 7. Los dispositivos controladores. ............................ - 67 -
1. Descripción general. ......................................................................................... - 67 -
2. Puertos de entrada/salida. .............................................................................. - 69 -
3. Implementación. .............................................................................................. - 69 -
Capítulo 8. El selector de programas. .................................... - 71 -
1. Introducción y parámetros. ............................................................................. - 71 -
2. Teclas de función. ............................................................................................ - 72 -
3. Implementación. .............................................................................................. - 74 -
Capítulo 9. Desarrollo, verificación y pruebas. ....................... - 75 -
Capítulo 10. Conclusiones. ..................................................... - 79 -
Índice de contenidos 3
1. Objetivos cumplidos. ..............................................................................
Comentarios de: Emulador de SEGA Master System en C++ (0)
No hay comentarios