Ja, wie läuft da eigentlich?
Was müsste ich wissen und tun um einen Emulator zu bauen? Wie bauen
Leute zB GBA-Emulatoren? Wie sieht so ein Programm aus, wie ist es
aufgebaut... und woher wissen diese Leute wie sie es machen müssen, wie
es aussehen muss damit es funktioniert? Woher haben sie Kenntnisse über
die Plattform, die doch meistens geschlossen ist?
Lothar-Alois Engelbarth schrieb:> Was müsste ich wissen und tun um einen Emulator zu bauen?
falls es ein System ist, für das es schon Quellen gibt,
würde ich mich an diesen orientieren
für den GBA z.B. gibt es ALLES an Informationen die man braucht
schon fertig im Netz. Von der Emulation der CPU über Schaltpläne
bis hin zum Aufbau der Cartrige Hardware und Software.
Wenn es ein "neues" System ist, für das es bis jetzt noch keinen
Emulator gibt, dürfe für dich das ganze nicht machbar sein
Gruss
> und woher wissen diese Leute wie sie es machen müssen, wie> es aussehen muss damit es funktioniert? Woher haben sie Kenntnisse über> die Plattform, die doch meistens geschlossen ist?
Irgendwie könnte man diese Frage auf wirklich ALLES anwenden
Lothar-Alois Engelbarth schrieb:> Woher haben sie Kenntnisse über> die Plattform, die doch meistens geschlossen ist?
Das gibt es normalerweise nicht, ausser bei Apple. Ein Prozessor oder
ein System muss vollständig dokumentiert sein, wenn Dritte was damit
anfangen sollen, z.B. Software schreiben. Ein Prozessor, dessen Befehle
nicht bekannt sind, ist völlig unnütz, und für einen Emulator braucht
man die gleichen Kenntnisse wie für eine Anwendung oder ein Spiel.
Gruss Reinhard
Reinhard Kern schrieb:> Das gibt es normalerweise nicht, ausser bei Apple. Ein Prozessor oder> ein System muss vollständig dokumentiert sein, wenn Dritte was damit> anfangen sollen, z.B. Software schreiben.
Merkwürdig das Leute für Apple Software schreiben können ohne eine Doku
für die Prozessor jemals gelesen zu haben.
Wenn man ich Compiler oder ASM schreibt, spielt die genau Funktion des
Prozessor kaum eine rolle.
Reinhard Kern schrieb:> Das gibt es normalerweise nicht, ausser bei Apple. Ein Prozessor oder> ein System muss vollständig dokumentiert sein, wenn Dritte was damit> anfangen sollen, z.B. Software schreiben. Ein Prozessor, dessen Befehle> nicht bekannt sind, ist völlig unnütz, und für einen Emulator braucht> man die gleichen Kenntnisse wie für eine Anwendung oder ein Spiel.>> Gruss Reinhard
Nur sind diese Informationen oft kostenpflichtig, nicht mehr vorhanden
oder auch unvollständig.
Beispiel IBM VGA: Die Register sind von IBM grob dokumentiert, die
feinen Zusammenhänge, oft Timing, darf man sich selber 'reversen'.
Zur eigentlichen Frage.
Habe selbst mal für GB entwickelt und mich mit dem Innereien
beschäftigt. Im Netz findest sich praktisch alle Informationen, die man
braucht, Zusammentragen aus Reverse-Engineering und wahrscheinlich auch
nicht ganz offiziellen Wegen.
Zum Beispiel hat der GB (nicht GBA) einen Prozessor, der Z80 kompatibel
ist. Und über Z80 gibts ja genügend Infos. Also musste man sich nur noch
um die speziellen Teile kümmern. LCD Controller usw.