Re: Imaginäres Showcase - Stellt euch mein Programm so vor:.
Verfasst: 18.08.2011 20:41
Ich hab vor ein paar Tagen ein neues und recht anspruchsvolles Projekt mit PB gestartet und zwar ein Recompiler, der es ermöglichen soll Windows 32bit Spiele auf ARM basierten Handhelds zu nutzen. Als erste Plattform strebe ich die Pandora an, danach sind weitere denkbar wie Android Handys oder auch iPhone/iPad.
Möglich wird das ganze durch einen sogenannten Static Recompiler, dieser nimmt sich den x86 Maschinencode vor und übersetzt ihn in ARMv7 Maschinencode. Das heisst jede x86 Instruktion wird durch eine oder mehrere ARMv7 Instruktionen nachgebildet. Das ganze wird dann mit Wine und einem Open GL ES wrapper kombiniert um alle API Aufrufe auf native API's umzulegen.
Ich gehe davon aus das bei einem 800Mhz ARM eine vergleichbare Geschwindigkeit wie ein 100Mhz Pentium problemlos zu erreichen ist. Ich hoffe auf 200Mhz oder mehr. Das würde schon einige Perlen wie Starcraft auf die Handhelds zaubern.
Das Teil ist aber nur für Spiele gedacht, es emuliert keinen kompletten Rechner, sondern nur was für den Windows User Mode von belang ist, was auch die hohe Performance ermöglicht. Zudem wird bei vielen Spielen ein wenig Handarbeit nötig sein, so das ich den Recompiler selbst wohl nicht veröffentlichen werde, sondern nur die rekompilierten Spiele ohne Spieldaten um nicht mit dem Copyright in Konflikt zu kommen.
Ich komme auch unerwartet gut vorran. Das Handling der 8 und 16 Bit Register steht soweit (ARMv7a unterstützt nur 32bit Registerzugriffe). Und die Übersetzung der Speicheradressierung ist im Prinzip auch schon fertig, was ich mir erst komplizierter vorgestellt hab als es eigentlich ist.
Möglich wird das ganze durch einen sogenannten Static Recompiler, dieser nimmt sich den x86 Maschinencode vor und übersetzt ihn in ARMv7 Maschinencode. Das heisst jede x86 Instruktion wird durch eine oder mehrere ARMv7 Instruktionen nachgebildet. Das ganze wird dann mit Wine und einem Open GL ES wrapper kombiniert um alle API Aufrufe auf native API's umzulegen.
Ich gehe davon aus das bei einem 800Mhz ARM eine vergleichbare Geschwindigkeit wie ein 100Mhz Pentium problemlos zu erreichen ist. Ich hoffe auf 200Mhz oder mehr. Das würde schon einige Perlen wie Starcraft auf die Handhelds zaubern.
Das Teil ist aber nur für Spiele gedacht, es emuliert keinen kompletten Rechner, sondern nur was für den Windows User Mode von belang ist, was auch die hohe Performance ermöglicht. Zudem wird bei vielen Spielen ein wenig Handarbeit nötig sein, so das ich den Recompiler selbst wohl nicht veröffentlichen werde, sondern nur die rekompilierten Spiele ohne Spieldaten um nicht mit dem Copyright in Konflikt zu kommen.
Ich komme auch unerwartet gut vorran. Das Handling der 8 und 16 Bit Register steht soweit (ARMv7a unterstützt nur 32bit Registerzugriffe). Und die Übersetzung der Speicheradressierung ist im Prinzip auch schon fertig, was ich mir erst komplizierter vorgestellt hab als es eigentlich ist.