IPB

Benvenuto Visitatore ( Log In | Registrati )

Seguici su:    
 
Reply to this topicStart new topic
> Come funziona un emulatore?
Ciozun
messaggio Sunday 24 January 2016 - 18:22
Messaggio #1

Special User
Gruppo icone

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
 Go to the top of the page
 
+Quote Post
tafero
messaggio Sunday 24 January 2016 - 18:29
Messaggio #2

Fanatic GBA/NDS
Gruppo icone

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.
 Go to the top of the page
 
+Quote Post
Forest87
messaggio Sunday 24 January 2016 - 20:45
Messaggio #3

Guru GBA/NDS
Gruppo icone

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 biggrin.gif


--------------------
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!!
*_*/
 Go to the top of the page
 
+Quote Post
Ciozun
messaggio Sunday 24 January 2016 - 21:24
Messaggio #4

Special User
Gruppo icone

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



CITAZIONE (Forest87 @ Sunday 24 January 2016 - 20:45) *
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 biggrin.gif


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... ohmy.gif
Ma poi, se la macchina è "chiusa", tipo un DS, come si fanno ad apprendere tutti i vari funzionamenti?


--------------------
Mi sono rotto di videogiocare
 Go to the top of the page
 
+Quote Post
siengried
messaggio Sunday 24 January 2016 - 21:52
Messaggio #5

Boss GBA/NDS
Gruppo icone

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
 Go to the top of the page
 
+Quote Post
CapRichard
messaggio Sunday 24 January 2016 - 22:03
Messaggio #6

Expert GBA/NDS
Gruppo icone

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



CITAZIONE (Ciozun @ Sunday 24 January 2016 - 21:24) *
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... ohmy.gif
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.
 Go to the top of the page
 
+Quote Post
Ciozun
messaggio Sunday 24 January 2016 - 22:26
Messaggio #7

Special User
Gruppo icone

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



CITAZIONE (CapRichard @ Sunday 24 January 2016 - 22:03) *
CITAZIONE (Ciozun @ Sunday 24 January 2016 - 21:24) *
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... ohmy.gif
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
 Go to the top of the page
 
+Quote Post
Forest87
messaggio Sunday 24 January 2016 - 22:28
Messaggio #8

Guru GBA/NDS
Gruppo icone

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



CITAZIONE (Ciozun @ Sunday 24 January 2016 - 21:24) *
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... ohmy.gif
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 rotfl[1].gif

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!!
*_*/
 Go to the top of the page
 
+Quote Post
siengried
messaggio Sunday 24 January 2016 - 23:09
Messaggio #9

Boss GBA/NDS
Gruppo icone

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
 Go to the top of the page
 
+Quote Post
ido
messaggio Monday 25 January 2016 - 05:52
Messaggio #10

Boss GBA/NDS
Gruppo icone

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)
 Go to the top of the page
 
+Quote Post
Ciozun
messaggio Monday 25 January 2016 - 14:38
Messaggio #11

Special User
Gruppo icone

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
 Go to the top of the page
 
+Quote Post
ido
messaggio Monday 25 January 2016 - 18:58
Messaggio #12

Boss GBA/NDS
Gruppo icone

Gruppo: Membri
Messaggi: 499
Iscritto il: Fri 5 November 2004 - 15:07
Utente Nr.: 2.633
Feedback: 1 (100%)




CITAZIONE (Ciozun @ Monday 25 January 2016 - 14:38) *
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)
 Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utenti stanno leggendo questa discussione (1 visitatori e 0 utenti anonimi)
0 utenti:

 

Modalità di visualizzazione: Normale · Passa a: Lineare · Passa a: Outline


RSS Versione Lo-Fi Oggi è il: Mon 13 May 2024- 16:40

.: GBArl.it :. Copyright © 2003-2020, All Rights Reserved.
Loghi, documenti e immagini contenuti in questo Sito appartengono ai rispettivi proprietari,
e sono resi pubblici sotto licenza Creative Commons

Creative Commons License
.::.