2009-10-31 6 views
6

Sono ora con il sogno di avviare un progetto di un emulatore di console di vecchia scuola (Atari, Colecovision ...), ma prima di iniziare ho bisogno di sapere alcune cose:Creazione di un emulatore di console Simple Old School

  • Qual è la console più semplice per crearne un emulatore?
  • Dove posso trovare delle buone risorse per costruirlo?
  • Qual è il linguaggio migliore per creare un emulatore?

Grazie.

risposta

5

Prima di tutto Internet è pieno di risorse che riguardano questo argomento, posso indicarti in uno dei più fondamentale sono partito dalla sviluppando miei emulatori: http://fms.komkon.org/EMUL8/HOWTO.html

Se volete qualcosa di più compreensive di molte parti metalliche (e lo verificherete): http://www.zophar.net/

Scrivere un emulatore è una storia abbastanza complessa, è necessario ricreare perfettamente l'hardware su cui sono in esecuzione i programmi altrimenti non funzionerà! Vorrei suggerire di iniziare da un semplice hw come un GameBoy (che ha una CPU modificata Z80, una delle più semplici e divertenti da implementare. Suggerisco www.z80.info su questo argomento) .. non dovresti provare con hardware complessi perché devi preoccuparti di troppe cose.

Ovviamente il linguaggio migliore è C o C++ semplice, solo perché si attacca di più all'hardware ed è molto efficiente .. attenzione che è necessario scrivere una macchina virtuale che si comporti esattamente come quella reale.

+0

ciò che è necessario nel dominio Sofar è "documenti tecnici" sul menu di destra .. Non tutte le piattaforme è perfettamente documentato (è per questo che ti ho suggerito di iniziare da GB, perché internet ne sa tutto) ma puoi trovare molte risorse utili – Jack

+0

GB non è così facile come sembra. Molti giochi sono molto sensibili agli emulatori che non imitano l'hardware in modo identico. Dare troppi cicli/troppi pochi durante una particolare parte del ciclo di aggiornamento del video (misurato da quando alcuni registri hardware cambiano) farà sì che giochi malamente scritti si blocchino/si blocchino/dimostrino comportamenti fasulli ... –

0

Per quanto riguarda la seconda domanda, è possibile dare un'occhiata allo MAME Wiki.

5

Qual è la console più semplice per crearne un emulatore?

Ho trovato che Chip-8 è un buon punto di partenza. È relativamente semplice con grafica on/off, solo un suono fisso e meno di 40 opcode.

Ho trovato Cowgod's Chip-8 Technical Reference per essere una grande risorsa.

Dove posso trovare delle buone risorse per costruirlo?

È necessario selezionare il sistema di destinazione e quindi ricercare le informazioni tecniche su di esso. Questo è molto più facile se si sceglie un sistema popolare, come il Gameboy (mentioned by Jack).

Qual è il linguaggio migliore per creare un emulatore?

C/C++ è ottimo perché si è vicini all'hardware in modo da ottenere le migliori prestazioni. Ci sono stati emulatori scritti in Assembly prima, ma non lo consiglierei (specialmente se sei appena agli inizi).

Nel dire che, tuttavia, ci sono stati emulatori scritti in JavaScript con frame rate accettabili.

Sceglierei una lingua che ti è più comoda e tieni a mente che qualsiasi cosa più vicina al metallo avrà teoricamente un rendimento migliore.

ho scritto alcuni post del blog che possono aiutare anche: