Come funziona un emulatore? |
Benvenuto Visitatore ( Log In | Registrati )
Come funziona un emulatore? |
Sunday 24 January 2016 - 18:22
Messaggio
#1
|
|
Special User Gruppo: Membri Messaggi: 106 Iscritto il: Sun 26 October 2014 - 22:19 Utente Nr.: 62.702 Feedback: 0 (0%) Codice Amico 3DS: 2208-5264-9252 |
Ciao,
come da titolo vorrei sapere come funziona un emulatore. -------------------- Mi sono rotto di videogiocare
|
|
|
Sunday 24 January 2016 - 18:29
Messaggio
#2
|
|
Fanatic GBA/NDS Gruppo: Membri Messaggi: 1.058 Iscritto il: Sat 16 July 2011 - 22:00 Da: Nichelino (TO) Utente Nr.: 55.122 Feedback: 0 (0%) |
Un emulatore serve, principalmente, ad emulare un tuo videogioco acquistato su PC o su un'altra piattaforma (se compatibile/disponibile).
Il 99% delle volte l'emulazione su PC migliora il gioco in termini grafici e ne migliora i caricamenti. L'emulatore puo' servire se uno non vuole usare la sua copia originale che ha in casa o avere tutti i suoi giochi direttamente su una console sola (magari portatile) senza portarsi/usare tutti i dischi ecc. |
|
|
Sunday 24 January 2016 - 20:45
Messaggio
#3
|
|
Guru GBA/NDS Gruppo: Membri Messaggi: 4.144 Iscritto il: Tue 26 April 2005 - 15:25 Da: Perugia Utente Nr.: 4.503 Feedback: 8 (100%) Codice Amico 3DS: 1633-4168-6392 Nintendo Network ID: Forest87 |
Beh, tecnicamente sarebbe più giusto dire che un emulatore non si limita a replicare un "videogioco" ma l'intera piattaforma che lo ospita. Vengono ricreate le condizioni hardware della macchina da emulare, mediante la programmazione di codice il cui obiettivo è quello di replicare il comportamento di ogni singolo componente o quantomeno avvicinarsi al risultato perfetto ottenuto dalla risposta che quest'ultima fornisce in determinate cirscostanze. Questo fa si che la macchina emulata sia poi in grado di riprodurre lo stesso software dell'originale (opportunamente "estratto" dal supporto originale e raggirate le protezioni che ne impediscono l'avvio su hardware non ufficiale).
Ovviamente la regola implicita è che la macchina che emula debba essere più "potente" di quella emulata.. e non di poco -------------------- Worst Nintendo Fan cuz non ho giocato Zelda: A Link To The Past anche se l'ho pagato un botto per averlo originale
Visita anche tu la Galleria Avatar by Forest87!! *_*/ |
|
|
Sunday 24 January 2016 - 21:24
Messaggio
#4
|
|
Special User Gruppo: Membri Messaggi: 106 Iscritto il: Sun 26 October 2014 - 22:19 Utente Nr.: 62.702 Feedback: 0 (0%) Codice Amico 3DS: 2208-5264-9252 |
Beh, tecnicamente sarebbe più giusto dire che un emulatore non si limita a replicare un "videogioco" ma l'intera piattaforma che lo ospita. Vengono ricreate le condizioni hardware della macchina da emulare, mediante la programmazione di codice il cui obiettivo è quello di replicare il comportamento di ogni singolo componente o quantomeno avvicinarsi al risultato perfetto ottenuto dalla risposta che quest'ultima fornisce in determinate cirscostanze. Questo fa si che la macchina emulata sia poi in grado di riprodurre lo stesso software dell'originale (opportunamente "estratto" dal supporto originale e raggirate le protezioni che ne impediscono l'avvio su hardware non ufficiale). Ovviamente la regola implicita è che la macchina che emula debba essere più "potente" di quella emulata.. e non di poco Quindi colui che crea un emulatore deve avere una conoscenza pressoché perfetta della macchina che deve andare a simulare? Non basterebbe una laurea in ingegneria informatica... Ma poi, se la macchina è "chiusa", tipo un DS, come si fanno ad apprendere tutti i vari funzionamenti? -------------------- Mi sono rotto di videogiocare
|
|
|
Sunday 24 January 2016 - 21:52
Messaggio
#5
|
|
Boss GBA/NDS Gruppo: Membri Messaggi: 652 Iscritto il: Wed 2 November 2011 - 14:50 Da: Napoli(Boscoreale) Utente Nr.: 56.355 Feedback: 0 (0%) |
Se posso... se tu per esempio la vuoi creare per una console tipo l'xboxone...
Per farlo dovrei adattare i codici scritti per pc per la xbox One? È un lavorone O.o -------------------- [img=http://s17.postimage.org/vf59dt1rv/btptg7ge4.jpg]
Madness,chaos,suffering,danmation,darkness;nothing can drown the light of hope |
|
|
Sunday 24 January 2016 - 22:03
Messaggio
#6
|
|
Expert GBA/NDS Gruppo: Membri Messaggi: 2.778 Iscritto il: Mon 3 February 2014 - 16:22 Da: Reggio Nell'Emilia Utente Nr.: 61.965 Feedback: 0 (0%) Codice Amico 3DS: 0490-5253-6562 |
Quindi colui che crea un emulatore deve avere una conoscenza pressoché perfetta della macchina che deve andare a simulare? Non basterebbe una laurea in ingegneria informatica... Ma poi, se la macchina è "chiusa", tipo un DS, come si fanno ad apprendere tutti i vari funzionamenti? Attenzione, che Simulare ed Emulare sono due cose diverse. La macchina di un emulatore non è simulata, ma emulata, per definizione. Ti chiederai: e che differenza c'è? L'emulatore ricrea il funzionamento hardware all'interno di un software, ed ha lo scopo di sostituire l'hardware nel suo funzionamento. Un simulatore è uno strumento utile per analizzare il sistema, ma non per sostituirlo (tipo un simulatore di volo. È simile alla realtà, ma non è quello). In realtà basta avere passione e capirci, laurea o non laurea, la programmazione è una cosa che si impara anche sbattendoci la testa a ripetizione (anche se studiare un po' aiuta sempre). Per apprendere come funziona un qualcosa ci sono molti modi. La si apre e se ne studia il circuito elettronico, la si testa inviandole segnali e capendo come essa risponde, si creano sistemi in grado di accedere al cuore del software e carpirne tutti i pezzi, si vedono le componentistiche e via dicendo. |
|
|
Sunday 24 January 2016 - 22:26
Messaggio
#7
|
|
Special User Gruppo: Membri Messaggi: 106 Iscritto il: Sun 26 October 2014 - 22:19 Utente Nr.: 62.702 Feedback: 0 (0%) Codice Amico 3DS: 2208-5264-9252 |
Quindi colui che crea un emulatore deve avere una conoscenza pressoché perfetta della macchina che deve andare a simulare? Non basterebbe una laurea in ingegneria informatica... Ma poi, se la macchina è "chiusa", tipo un DS, come si fanno ad apprendere tutti i vari funzionamenti? Attenzione, che Simulare ed Emulare sono due cose diverse. La macchina di un emulatore non è simulata, ma emulata, per definizione. Ti chiederai: e che differenza c'è? L'emulatore ricrea il funzionamento hardware all'interno di un software, ed ha lo scopo di sostituire l'hardware nel suo funzionamento. Un simulatore è uno strumento utile per analizzare il sistema, ma non per sostituirlo (tipo un simulatore di volo. È simile alla realtà, ma non è quello). In realtà basta avere passione e capirci, laurea o non laurea, la programmazione è una cosa che si impara anche sbattendoci la testa a ripetizione (anche se studiare un po' aiuta sempre). Per apprendere come funziona un qualcosa ci sono molti modi. La si apre e se ne studia il circuito elettronico, la si testa inviandole segnali e capendo come essa risponde, si creano sistemi in grado di accedere al cuore del software e carpirne tutti i pezzi, si vedono le componentistiche e via dicendo. Grazie per il chiarimento! -------------------- Mi sono rotto di videogiocare
|
|
|
Sunday 24 January 2016 - 22:28
Messaggio
#8
|
|
Guru GBA/NDS Gruppo: Membri Messaggi: 4.144 Iscritto il: Tue 26 April 2005 - 15:25 Da: Perugia Utente Nr.: 4.503 Feedback: 8 (100%) Codice Amico 3DS: 1633-4168-6392 Nintendo Network ID: Forest87 |
Quindi colui che crea un emulatore deve avere una conoscenza pressoché perfetta della macchina che deve andare a simulare? Non basterebbe una laurea in ingegneria informatica... Ma poi, se la macchina è "chiusa", tipo un DS, come si fanno ad apprendere tutti i vari funzionamenti? Come dice CapRichard, la conoscenza del sistema da emulare non è tanto essenziale quanto lo è molto di più capire come quest'ultimo reagisce a determinati input. E' un po' come trovarsi di fronte ad una donna e provare a regalarle - una scatola di cioccolatini - un scatola di cioccolatini vuota Non devi conoscere la donna, il suo passato, la conformazione del suo cuore o in quale percentuale è presente dell'acqua nel suo corpo: essa ti regalerà un sorriso o un calcio nelle palle in base alla circostanza Allo stesso modo mandi input alla macchina, scoprendo come reagisce delinei il comportamento di ogni modulo e scrivi il codice (nel linguaggio macchina che più ti aggrada) in modo che la risposta a quell'input sia la medesima -------------------- Worst Nintendo Fan cuz non ho giocato Zelda: A Link To The Past anche se l'ho pagato un botto per averlo originale
Visita anche tu la Galleria Avatar by Forest87!! *_*/ |
|
|
Sunday 24 January 2016 - 23:09
Messaggio
#9
|
|
Boss GBA/NDS Gruppo: Membri Messaggi: 652 Iscritto il: Wed 2 November 2011 - 14:50 Da: Napoli(Boscoreale) Utente Nr.: 56.355 Feedback: 0 (0%) |
Io le regalerei una scatola vuota e le direi:"Erano buonissimi" xD
-------------------- [img=http://s17.postimage.org/vf59dt1rv/btptg7ge4.jpg]
Madness,chaos,suffering,danmation,darkness;nothing can drown the light of hope |
|
|
Monday 25 January 2016 - 05:52
Messaggio
#10
|
|
Boss GBA/NDS Gruppo: Membri Messaggi: 499 Iscritto il: Fri 5 November 2004 - 15:07 Utente Nr.: 2.633 Feedback: 1 (100%) |
come ti hanno già risposto ci sono 2 approcci, che possiamo definire come
emulare l'hardware simulare il software che ci gira il primo approccio è da white box, tu hai un determinato input, il tuo hardware simulato elabora l'input e produce l'output. esempio sono tutti gli emulatori di macchine non recenti, diciamo da ps1 in giù. Prendiamo ad esempio il NES, all'interno ha una CPU ad 8bit 6502 (e altri componenti naturalmente) un emulatore ricrea quella CPU (la CPU fa calcoli matematici, ad esempio metti un valore nel registro 1, un altro valore nel registro 2 e poi chiedi alla CPU di fare la somma di questi due registri e mettere il risultato nel registro 3) in modo che il codice compilato (contenuto nella ROM del gioco) possa essere eseguito. il secondo approccio è da black box, tu non sai come è fatto l'hardware, ma crei qualcosa che a determinati input produce determinati output. esempio classico è l'emulatore UltraHLE del N64, in questo caso si cerca di adattare il codice compilato (contenuto nella ROM) alle istruzioni già presenti nella CPU che sta emulando il codice compilato, se io so che il codice compilato richiede la somma di due numeri, li metto nel registro AX e BX della CPU x86 e poi prendo il risultato. Notare che non c'è una distinzione netta, molto spesso emulatori (anche di vecchie console) utilizzano approcci blackbox per far partire giochi in cui non si riesce ad emulare perfettamente l'hardware, tipo il chip Super FX di alcuni giochi SNES (questo finché quel pazzo di byuu autore del bsnes/higan non ha decappato il Super FX e altri chip) con l'avanzare della tecnologia gli approcci whitebox si riducono (questo perché spesso si usano CPU custom e le specifiche non sono disponibili e la potenza dei sistemi aumenta) emulare nuove macchine sarà sempre più complicato ma ogni tanto una sopresa esce (tipo il CEMU per WiiU) |
|
|
Monday 25 January 2016 - 14:38
Messaggio
#11
|
|
Special User Gruppo: Membri Messaggi: 106 Iscritto il: Sun 26 October 2014 - 22:19 Utente Nr.: 62.702 Feedback: 0 (0%) Codice Amico 3DS: 2208-5264-9252 |
Grazie Forest89 e ido!
Ido mi sembra di capire che un emulatore basato sul metodo blackbox sia più performante rispetto ad uno basato su whitebox. -------------------- Mi sono rotto di videogiocare
|
|
|
Monday 25 January 2016 - 18:58
Messaggio
#12
|
|
Boss GBA/NDS Gruppo: Membri Messaggi: 499 Iscritto il: Fri 5 November 2004 - 15:07 Utente Nr.: 2.633 Feedback: 1 (100%) |
Ido mi sembra di capire che un emulatore basato sul metodo blackbox sia più performante rispetto ad uno basato su whitebox. a livello di framerate si, ma il fatto di non emulare esattamente la macchina si perde in accuratezza (esempio stupido: della parte audio l'emulatore simula sono il canale sinistro e non stereo, mentre emulando il chip audio in modo da avere entrambi i canali audio richiede potenza della CPU e il framerate si abbassa, ripeto esempio stupido) |
|
|
Versione Lo-Fi | Oggi è il: Mon 13 May 2024- 16:40 |