Resumen:
|
[ES] Este proyecto tiene como objetivo desarrollar un emulador de la consola GameBoy sobre
microcontroladores ESP32 con una pantalla TFT. Para demostrar la posibilidad de emular por
software el funcionamiento de la consola ...[+]
[ES] Este proyecto tiene como objetivo desarrollar un emulador de la consola GameBoy sobre
microcontroladores ESP32 con una pantalla TFT. Para demostrar la posibilidad de emular por
software el funcionamiento de la consola en un entorno limitado en recursos, es necesario estudiar
el hardware original y profundizar en los pasos que realiza el mismo, ciclo a ciclo durante la
ejecución y emulando si fuera necesario, bugs a nivel de hardware para tener una recreación lo
más realista y eficiente posible.
Para llevar a cabo el desarrollo, se utiliza C++ como lenguaje de programación junto a una
extensión para Visual Studio Code llamada PlatformIO, la cual facilita la configuración y creación
de proyectos para diversos microcontroladores y sus variantes, así como su integración con
diversos compiladores y librerías del mismo microcontrolador, o de terceros. Cursar diversas
asignaturas sobre desarrollo en entornos embebidos, así como un interés personal y autodidacta
en el campo, ha sido el motor y un aliciente para la realización de este trabajo académico.
Se presenta la complejidad de desarrollar un emulador evaluando los diferentes dispositivos
hardware de interés, pasando por las numerosas fases como son la de análisis, diseño e
implementación, para lograr cumplir con los objetivos y obtener como resultado un producto final.
[-]
[CA] Aquest projecte te com objectiu desenvolupar un emulador per a la consola GameBoy per a un
microcontrolador ESP32 amb una pantalla TFT. Per a desmostrar les possibilitats d’emular per
software el funcionament de la ...[+]
[CA] Aquest projecte te com objectiu desenvolupar un emulador per a la consola GameBoy per a un
microcontrolador ESP32 amb una pantalla TFT. Per a desmostrar les possibilitats d’emular per
software el funcionament de la consola en un entorno llimitat en recursos, es necessari estudiar el
hardware original i profunditzar en els passos que realitza el mateix, cicle a cicle durant l’execució
i emulant si fora necessari, bugs a nivel de hardware per a tindre una recreació el més realista i
eficiente possible.
Per a dur a terme el desenvolupament, s’utilitza C++ com a llenguatge de programació en conjunt
amb una extensió per a Visual Studio Code anomenada PlatformIO, la qual facilita la configuració i creació de projectes per a diversos microcontroladors i els seus variants, així com la seua
integración amb diversos compiladors i llibreries del mateix controlador o de tercers. Cursar
diverses assignatures sobre desenvolupament en entorns embeguts, així com un interés personal
i autodidacta en el camp, ha sigut el motor i un al·licient per a la realització d’aquest treball
acadèmic.
Es presenta la complexitat de desenvolupar evaluant els diferents dispositius hardware d’interés,
passant per les numeroses fases com son les d’anàlisis, disseny i implementació, per a aconseguir
cumplir amb els objectius i obtindre com a resultat un producte final.
[-]
[EN] This project aims to develop a GameBoy console emulator for ESP32 microcontrollers with
integrated TFT display. In order to demonstrate the possibility of emulating by software the
functioning of the console in a ...[+]
[EN] This project aims to develop a GameBoy console emulator for ESP32 microcontrollers with
integrated TFT display. In order to demonstrate the possibility of emulating by software the
functioning of the console in a resources limited environment, it is necessary to research on the
original hardware and deepen the steps it carries out, cycle by cycle during execution and
emulating if necessary, bugs at hardware level to have a recreation as realistic and efficient as
possible.
To carry out the development, C++ is used as programming language with a Visual Studio Code
extension plugin called PlatformIO, which facilitates the configuration and creation of projects
for a wide variety of microcontrollers, as well as their integration with different compilers and
libraries of the same microcontroller or third-party ones. Taking several subjects about
development in embedded environments, in addition to a personal and self-taught interest on the
field, has been the driving forces and an incentive to do this academic work.
The complexity of developing an emulator taking into account the different hardware devices of
interest arises, stepping through the numerous phases such as analysis, design and
implementation, so that goals are achieved and obtain a product as a final result.
[-]
|