Autor |
Nachricht |
krysmopompas
|
|
Titel:
Verfasst am: 23.02.2009, 18:22 Uhr
|
|
Retrogott
Anmeldungsdatum: 19. Jun 2008
Beiträge: 2.094
Status: Offline
|
|
Zitat: I am honestly not sure where the Win2K misperception comes from, but Xbox runs a custom operating system built from the ground up.
Das glaube ich Shaheen Gandhi nicht. Offensichtlich läuft da kein 1:1 Windows2000. Aber der NT Kernel diente als Basis, ebenso wie viele bekannte Windows Bibliotheken. Das sparte Entwicklungskosten und ermöglicht einfacheres Portieren von/nach Windows.
Das sagt auch Michael Steil (xbox linux):
Zitat: It (gemeint ist die Xbox) runs a simplified Windows 2000 kernel, and the games include adapted versions of Win32, libc and DirectX statically linked to them.
|
|
|
|
|
|
CKeichel
|
|
Titel:
Verfasst am: 23.02.2009, 20:12 Uhr
|
|
Retrogott
Anmeldungsdatum: 19. Dez 2004
Beiträge: 2.666
Status: Offline
|
|
Aber warum sollte er das schreiben, wenn es nicht stimmt, wo ist der Sinn? Zumal einfaches Portieren von und nach Windows für MS weder ein Argument war, noch in der Praxis erreicht wurde.
Ich sehe auch nicht, wo der Vorteil darin liegt die XBox mit einem Win2K Kernel laufen zu lassen, die Entwicklung eines Betriebssystems für eine Videospielkonsole ist nichts so aufwändiges, dass es immense Entwicklungskosten verschlingen würde und man hat am Ende ein OS, dass spezifisch auf die Architektur des Geräts ausgelegt ist.
Ich verstehe den Satz von Michael Steil auch nicht. Soll es bedeuten, die XBox läuft mit einem abgespeckten Win2K Kernel und die Spiele mit einem Win32 Derivat? Was soll das bedeuten? |
_________________ Das ist alles nicht schlimm - Das wird alles noch schlimmer
Großstadtgeflüster in Weine nicht mein Kind
|
|
|
|
|
|
Titel:
Verfasst am: 23.02.2009, 20:54 Uhr
|
|
Ex-Member
Anmeldungsdatum: 28. Feb 2005
Beiträge: 3.561
Wohnort: überall und nirgends
|
|
So wie es da steht: der Kernel ist in der Firmware, alles Ebenen drueber bringt jedes Spiel in spez. Version mit. Und das ist eben der Knackpunkt woran die High-Level-Emulation a la cxbx hapert. |
|
|
|
|
|
CKeichel
|
|
Titel:
Verfasst am: 23.02.2009, 21:00 Uhr
|
|
Retrogott
Anmeldungsdatum: 19. Dez 2004
Beiträge: 2.666
Status: Offline
|
|
Schon klar, aber warum sollte die Firmware ein Win2k Kernel sein und das Spiel dann mit einer spezialisierten Win32 Version laufen? Das meinte ich mit, das gibt wenig Sinn in meinen Augen. |
_________________ Das ist alles nicht schlimm - Das wird alles noch schlimmer
Großstadtgeflüster in Weine nicht mein Kind
|
|
|
|
|
|
Titel:
Verfasst am: 23.02.2009, 21:04 Uhr
|
|
Ex-Member
Anmeldungsdatum: 28. Feb 2005
Beiträge: 3.561
Wohnort: überall und nirgends
|
|
|
|
|
sco
|
|
Titel:
Verfasst am: 23.02.2009, 21:04 Uhr
|
|
Retroanfänger
Anmeldungsdatum: 11. Dez 2005
Beiträge: 94
Status: Offline
|
|
Zitat: Nichts gegen deine Ausführungen, Du scheinst schon zu wissen was Du da machst, aber sie widersprechen der Aussage von Shaheen Gandhi, einem bei Microsoft angestellten Softwareentwickler für die XBox, der eindeutig schreibt: ...
das widerspricht sich doch gar nicht - ich sagte das der kernel und die compiler pragmas die platform als windows 5 deklarieren - es also die gleiche basis hat
wie nt 5 und nachfolger - das es auf die bedürfnisse der konsole angepasst ist
setze ich mal voraus - wie jeder andere auch hoffe
"von grund auf neu" heisst hier allem anschein nach - wir haben alles weggelassen
was unnötig ist und den kram den wir für die kosole brachen angepasst -
was auch für die signatur und die geringe grösse des kernels sprechen...
davon mal abgesehen war ich von vornherein gegen die windows 2000 idee
ich war von nem ce ausgegangen - was von den vorraussetzung un der
modularität ne logische wahl gewesen wäre - haben sie aus gründen
der code portabilität nicht gemacht, das hätte für spieleschmieden
mehr anpassungsarbeit bei pc <-> xbox ports oder parallelantwicklung
bedeutet...
Zitat: Zumal einfaches Portieren von und nach Windows für MS weder ein Argument war, noch in der Praxis erreicht wurde.
lustigerweise ist das sogar recht gut möglich wenn man sich mal die samples
aus dem sdk anguggt - das ist alles darauf ausgelegt einmal zu schreiben
und zweimal zu kompilieren und voila man hat sowohl ne pc als auch ne xbox
version - das setzt natürlich vorraus dass man die vorgesehen api verwendet
und auf eingene spezialimplementierungen verzichtet...
Zitat: Ich sehe auch nicht, wo der Vorteil darin liegt die XBox mit einem Win2K Kernel laufen zu lassen, die Entwicklung eines Betriebssystems für eine Videospielkonsole ist nichts so aufwändiges, dass es immense Entwicklungskosten verschlingen würde und man hat am Ende ein OS, dass spezifisch auf die Architektur des Geräts ausgelegt ist.
doch ist es, gerade für x86 plattformen - zur ansicht gibt es ja genügend
freie kernel projekte...
Zitat: Ich verstehe den Satz von Michael Steil auch nicht. Soll es bedeuten, die XBox läuft mit einem abgespeckten Win2K Kernel und die Spiele mit einem Win32 Derivat? Was soll das bedeuten?
windows 2000 ist quark windows 2000 ähnlich passt
Zitat: the games include adapted versions of Win32...
ist auch quatsch es sind win32 programme - man bezeichnet die 32 bit nt kernel auch als win32 mit dazugehöriger api und die ist tatsache die vom
desktop windows nur unvollständig, weil man ja nur die sachen braucht
die für spiele interesant sind...
die c libraries entsprechen von den interfaces den normalen windows sdk
versionen sind aber auf die xbox harware optimiert und das directx
ist directx 8 auf die xbox hardware angepasst, also schlanker als
die desktop version und die grafikseitigen teile davon sind auf die
verwendete nvidia gpu zugeschnitten (das kann bisserl mehr als
das desktop directx, zumindest shaderseitig entspricht es directx 9) |
|
|
|
|
|
sco
|
|
Titel:
Verfasst am: 23.02.2009, 21:08 Uhr
|
|
Retroanfänger
Anmeldungsdatum: 11. Dez 2005
Beiträge: 94
Status: Offline
|
|
Zitat: So wie es da steht: der Kernel ist in der Firmware, alles Ebenen drueber bringt jedes Spiel in spez. Version mit. Und das ist eben der Knackpunkt woran die High-Level-Emulation a la cxbx hapert.
der kernel ist die firmware, alles was man sonst noch braucht ist die libc und
directx, da beides ins spiel gelinkt werden muss damits benutzbar
ist wirds auch mit dem spiel ausgeliefert - was gleich den vorteil das man eventuelle bugs durch sdk updates beheben kann |
|
|
|
|
|
sco
|
|
Titel:
Verfasst am: 23.02.2009, 21:15 Uhr
|
|
Retroanfänger
Anmeldungsdatum: 11. Dez 2005
Beiträge: 94
Status: Offline
|
|
http://de.wikipedia.org/wiki/Win32#Win32
der link ist gut das verdeutlicht gleicht warums kein windows 2000 ist - die user.dll fehlt
die wird für usermode programme verwendet und stellt unter andrem den mutlitaskting
betrieb sicher - braucht man auf der xbox nicht es läuft nur ein programm oder besser
spiel zur gleichen zeit, auch braucht man keine multiuserumgebeung, etc.
man braucht lediglich die hardware abstraktion (über directx) und die i/o interfaces, loader usw. (kernel) |
|
|
|
|
|
CKeichel
|
|
Titel:
Verfasst am: 23.02.2009, 21:16 Uhr
|
|
Retrogott
Anmeldungsdatum: 19. Dez 2004
Beiträge: 2.666
Status: Offline
|
|
[quote:75611a3e34="sco"]das directx ist directx 8 auf die xbox hardware angepasst, also schlanker als die desktop version und die grafikseitigen teile davon sind auf die verwendete nvidia gpu zugeschnitten (das kann bisserl mehr als
das desktop directx, zumindest shaderseitig entspricht es directx 9)
Aber Shaderseitig unterstützt DX9 Pixelshader 2.0 und der NVidiachip der XBox nicht. |
_________________ Das ist alles nicht schlimm - Das wird alles noch schlimmer
Großstadtgeflüster in Weine nicht mein Kind
|
|
|
|
|
sco
|
|
Titel:
Verfasst am: 23.02.2009, 21:24 Uhr
|
|
Retroanfänger
Anmeldungsdatum: 11. Dez 2005
Beiträge: 94
Status: Offline
|
|
upps hab das 'eher' vergessen - sollte heissen:
..zumindest shaderseitig entspricht es eher directx 9
ist aber acuh nicht so wichtig interessanter ist der apsekt das nur die libraries mitbringt die
mit der vorhandenen hardware verwendet werden können - was es halt super klein macht |
|
|
|
|
|
sco
|
|
Titel:
Verfasst am: 23.02.2009, 21:33 Uhr
|
|
Retroanfänger
Anmeldungsdatum: 11. Dez 2005
Beiträge: 94
Status: Offline
|
|
mir fällt grad noch ein das jetzt auch klar sein sollte warums keinen funzenden xbox emulator gibt...
man müsste schlichtweg die hardare komplett emulieren...
der kernel läuft nicht einfach im userspace, die libc ist nicht austauschbar weil angepasst, das directx
gehört fest zum spiel, ist ebenfalls angepasst und ist somit auch nicht austauschbar...
nen HLE fällt also flach und nen api wrapper auch... |
|
|
|
|
|
|
Titel:
Verfasst am: 23.02.2009, 22:06 Uhr
|
|
Ex-Member
Anmeldungsdatum: 28. Feb 2005
Beiträge: 3.561
Wohnort: überall und nirgends
|
|
HLE mit separater Translation fuer jede SDK-Version wird doch aber versucht, was leider bis jetzt auch der einzige gegenwaertig angegangene Ansatz ist.
PS.: Danke fuer Deine Posts - schoen zu lesen und gehaltvoll. Mal erfrischend anders. |
|
|
|
|
|
sco
|
|
Titel:
Verfasst am: 23.02.2009, 22:18 Uhr
|
|
Retroanfänger
Anmeldungsdatum: 11. Dez 2005
Beiträge: 94
Status: Offline
|
|
hmm da wirft einige probleme auf - wie bringe ich den kernel dazu im userspace zu laufen und was ist mit der grafikhardware,
kann mir grad nicht so ganz vorstellen wie das gehen solle ohne das origial game zu "hacken"
- das directx ist ja wie gesagt bestandteil des spiels -und läuft mit genau einer gpu, weiter müssen die hardware id's vom
hostsystem maskiert werden damit die treiber laufen sonst bekommt man keinen hardware zugriff
(nen hle versucht weitestgehend (soweit möglich) den programmcode direkt auf dem
hostsystem auszuführen)
bin mal gespannt ob das was wird und noch viel mehr wie... |
|
|
|
|
|
|
Titel:
Verfasst am: 23.02.2009, 22:31 Uhr
|
|
Ex-Member
Anmeldungsdatum: 28. Feb 2005
Beiträge: 3.561
Wohnort: überall und nirgends
|
|
Ja genau das macht cxbx doch: das Game-Executable wird neu uebersetzt, die jeweiligen API-Calls werden fuer die zu verwendende Windows-Plattform angepasst. |
|
|
|
|
|
sco
|
|
Titel:
Verfasst am: 23.02.2009, 22:37 Uhr
|
|
Retroanfänger
Anmeldungsdatum: 11. Dez 2005
Beiträge: 94
Status: Offline
|
|
das ist cracking nicht emulieren - ist nett aber hat wenig style find ich...
beim emulieren gehts ja eben genau darum den original code auszuführen - vllt. bin ich da auch ein wenig altmodisch |
|
|
|
|
|
|