This is an old revision of the document!
Emulator NES - Tecuceanu Gabriel-Cristian
Introducere
Proiectul are in vedere realizarea unei console portabile capabile sa emuleze jocuri din era 8-bit de pe sistemul NES (Nintendo Enterntainment System) utilizand microcontroller-ul ESP32-S3.
Scopul este oferirea unei experiente cat mai complete prin prezenta urmatoarelor caracteristici:
incarcare jocurilor (ROM) de pe un card MicroSD
utilizarea arhitecturii dual-core si a memoriei PSRAM pentru a asigura o emulare fluida
afisare la rezolutiea nativa a consolei NES (256×240), utilizand intreaga gama de culori
redarea sunetului original pe 8-biti
asigurarea portabilitatii prin integrarea unui acumulator Li-Ion si a unui modul de incarcare
Ideea a pornit de la pasiunea pentru jocuri retro. Cred ca este o idee utila in primul rand pentru ca reprezinta o oportunitate buna de invatare dar si pentru ca rezultatul final este un sistem de divertisment complet si portabil, multe dintre jocurile de pe NES sunt inca populare si in ziua de azi (ex: Super Mario Bros).
Descriere generală
Diagrama Hardware:
Diagrama Software:
Sistemul este construit in jurul placii ESP32-S3 DevKitC-1.
Flux:
Input: utilizatorul intereactioneaza cu consola prin intermediul celor 8 butoane tactile (D-Pad + butoane actiune: A, B, Select, Start), configurate cu rezistente de pull-up interne.
Procesare: emulatorul ruleaza pe cele doua nuclee ale microcontroller-ului. Un nucleu se ocupa de emularea CPU si PPU (grafica), in timp ce al doilea nucleu se ocupa de decoarea audio (APU) si transferul de date catre display.
Output Video: afisarea se face pe un ecran TFT de 2.8” (ST7789V) prin protocolul SPI.
Sunetul este transmis digital prin protocolul I2s catre un DAC/Amplificator extern (MAX98357A).
Alimentare: Sistemul este portabil, folosim o baterie Li-Ion, un circuit de protectie/incarcare (TP4056) si un regulator de tensiune
Hardware Design
Lista de componente:
| Nume Componenta | Cantitate | Rol in proiect | Datasheet |
| ESP32-S3 DevKitC-1 | 1 | Unitare centrala de procesare (N16R8) | Link |
| LCD TFT 2.8” ST7789V | 1 | Afisare grafica (SPI) | - |
| MAX98357A I2S Amp | 1 | DAC si Amplificare audio | Link |
| Difuzor 8Ω 0.5W | 1 | Redare sunet | - |
| Baterie Li-Ion 3.7V | 1 | Sursa de energie | - |
| Modul TP4056 | 1 | incaracre si protectie baterie | - |
| Butoane Tactile 12mm | 8 | Control (D-Pad, A, B, Start, Select) | - |
| Slide Switch | 1 | Comutator On/Off | - |
Software Design
Rezultate Obtinute
Concluzii
Download
Jurnal
Bibliografie/Resurse