Come potrei creare il mio emulatore?
Se sei abbastanza fortunato da voler creare un emulatore per una macchina che è ben studiata, documentata, e ha una scena homebrew attiva, probabilmente troverai tutto il necessario per andare avanti. Come è stato suggerito, potresti cercare online emulatori con codice sorgente disponibile [come, per esempio, se volessi emulare il NES potresti andare su christopherpow/nesicide ]. Ma ovviamente sarete straziati dalla mia mancanza di commenti. :|
Altrimenti, iniziate a cercare di trovare schemi, documenti/diagrammi IC, descrizioni dell'architettura del set di istruzioni, descrizioni dei registri, mappe di memoria, ecc. Nell'esempio del NES, ci sono due chip principali di cui preoccuparsi. Una CPU [auto esplicativa, si spera], e una PPU [Picture Processing Unit]. Ognuno ha un set di registri e un "modello di programmazione". La PPU essenzialmente esegue il proprio programma basato sui fotogrammi, leggendo dalla sua RAM in momenti ben noti e ripetibili per generare le immagini sullo schermo. La CPU esegue qualsiasi programma che il terzo pezzo che vorrete emulare vi collega: la cartuccia. Nel NES, come in molti sistemi antichi, la cartuccia è un po' il punto in cui le cose si fanno un po' più complesse e interessanti. Con il NES ci sono centinaia di diversi layout di cartucce di base, ognuno con diverse quantità di ROM. Alcune con RAM. Alcune con la batteria. Alcune con canali audio extra. Alcune con set di registri e capacità incredibilmente ricchi e ridicolmente complicati [ti sto guardando, MMC5!].
Se state cercando di emulare una macchina su cui nessuno ha mai messo piede o mente prima, siate preparati. Con questo, voglio dire, compratevi un buon, o dannatamente buono, oscilloscopio a segnale misto, saldatore, set di cacciaviti, microscopio, ecc. A questo punto stai veramente aprendo un sentiero. A seconda della popolarità della macchina, siate pronti a documentare meticolosamente le vostre scoperte.
Sono un po' triste per essermi perso i giorni di gloria degli inizi dell'emulazione NES, quando si sapeva poco e nulla era certo. Ma sono in qualche modo felice di avere tonnellate di materiale di riferimento e un vivace forum di persone che la pensano come me con cui celebrare il mio amore per una macchina che probabilmente accenderà l'immaginazione per decenni a venire.
Articoli simili
- Posso installare l'emulatore di Mix Android in Ubuntu? Non posso giocare a PUBG nel mio PC in mancanza di un emulatore?.
- Come potrei creare il mio sistema operativo per console per PC, senza scegliere un sistema operativo preesistente come Linux o Windows?
- Come potrei essere in grado di creare un'app che trasmette video in diretta come Livestream?
- Quali passi bisogna seguire per creare un emulatore STM32F4 per giochi 2D, come Game Boy e SNES Nintendo?