Hoofdcategorieën
Device Settings

Xbox executable omgezet naar Windows formaat

Door Maxim Burgerhout, woensdag 28 augustus 2002 12:47
Bron: Caustik.com, views: 2.118

Na onder meer snes9x voor de Super Nintendo en Bleem! voor de Playstation, lijkt er nu met enig succes gewerkt te worden aan een emulator voor de Xbox. Op Caustik.com vertellen de makers van het programma cxbx, dat het gelukt is een Xbox executable om te zetten in een Portable Executable, het Windows executable formaat. Ze geven aan dat de volgende stap zal moeten bestaan uit het maken van goede wrappers voor de Xbox kernel exports:

Microsoft XboxThe process of converting an xbox executable (.xbe) to a windows "portable executable" (PE, [.exe]) has been a success. Despite rumors floating around, .xbe -> .exe converstion is entirely possible, and is already being done. The problem is that a lot of work is necessary to fullfill the environmental expectations of an xbox executable. Most importantly, kernel exports and certain hardware are expected, and must be emulated. The kernel emulation will be done by wrapping around existing win32 api.

Met dank aan seadive87 die dit nieuws door onze brievenbus liet glijden.

Volgende 13:08 Eerste kwartaalresultaten HP-Compaq als verwacht
Vorige 12:40 Namen van de NV18 en NV28 gevonden
Advertentie

Reacties

«  1  2  »

Nice, nog ff en we hebben een Xbox Emulator..

Aangezien XBox al een pc opzich is, moet het een redelijk eenvoudig iets zijn.. niet eens emulatie, gewoon iets doorpassen...

Zo simpel is het allemaal niet anders was het nu al voor elkaar.

Er zijn inderdaad stappen die min of meer over te slaan zijn, waardoor het proces van het maken van een emulator ingekort kan worden omdat de source hardware veel lijkt op de target hardware. Maar eenvoudig lijkt het mij niet.
In principe zouden opcodes van de XBox CPU gelijk moeten zijn aan de PC CPU en dus direct kunnen worden omgezet in plaats van geinterpreteerd of re-compileerd. Maar wat er percies gebeurd in de XBox wijkt toch wel ietsje af van een standaard PC lijkt mij?

Interface tussen de verschillende hardware stukken kan anders zijn dan op een PC, en dat moet wel geëmuleerd worden.

Maar ik ben het wel met je eens dat het makkelijker is maar nog steeds niet makkelijk hoor :)

Inderdaad, we krijgen denk ik eerder een Xbox Virtual Machine dan een XBox Emulator.

Enige drama in dat soort dingen is dat de XboX bepaalde eisen heeft, bepaalde hardware, die dus geemuleerd moet worden. Ik vermoed dat je een redelijk stevige pc zal moeten hebben om dat te kunnen doen, zonder te veel concessies te moeten maken op performance gebied. Zeker als je pc minder dan een XboX is zal je het ws wel kunnen schudden.

Nee hoor, we krijgen geen XBoX emulator.....
Er worden maar kleine stukjes XBoX ge-emuleerd, niet het hele apparaat en dan vindt ik niet dat je het een XBoX emulator kunt noemen.

Vergeet het dus maar.

Xbox heeft unified memory, en die schrijft dus gewoon rechtstreeks naar videomemory als er textures oid gewijzigd worden. De video hardware is niet hetzelfde als die in een PC, en Xbox spellen kunnen rechstreeks de registers aansturen. Xbox heeft ook unieke soundhardware, 128 channels met hartdware DSP effecten, en daarbovenop nog 64 simpelere channels. Verder heeft Xbox een unieke CPU, en x86 is slecht in self-virtualisation. Als een speciale bonus draait veel Xbox software in ring 0.

Dat alles betekent dat je dus dat je
a) geen VMWare oid kunt gebruiken, omdat je memory acesses moet monitoren en meer ongein;
b) de hardware op een laag niveau moet emuleren omdat de gebruikte registers anders zijn of er niets vergelijkbaars is voor PC's.

dat zijn toch grotendeels softwarematige verschillen cq niet bestaande verschillen die je opnoemt.

De cpu die er in zit is een 733 MHz kruising tussen een celeron en een P3 . Gewoon x86, met SSE ook bijv. en mmx.

De videokaart is voorzover ik weet een variant van de GF3/GF4 series, her en der beetje schuiven met pixel en vertex shaders en je komt er wel weer . (in hardware)

Het grote verschil blijft hem in de software zitten, maar in principe elke x86 cpu met een nvidia kaart - en ik gok zelfs een willekeurige opengl/directx compatible vidcard met T&L - zal dus makkelijk over te porten zijn.

Hoe wou jij unified ram emuleren? Als een Xbox een texture nodig heeft, zegt hij "er staat wat data DAAR op de dvd, en moet DAAR in het geheugen staan" waarna de GPU er direct mee aan de gang kan, zonder dat de cpu weet dat het om textures ging. Hoe wil je een emulator maken die weet dat een stukje data een texture is, en dat vervolgens naar het geheugen van je Geforce kopieert?

Het zou allemaal wel kunnen... maar dat wordt ff'ing veel werk, en eventueel ga je een 3GHz pc nodig hebben om een vloeiend resultaat te krijgen (terwijl de Xbox op 733MHz draait).

met protection en exceptions.

3 Ghz voor nodig? Even met beide beentjes op de grond blijven a.u.b.

Het Xbox moederbord is nagenoeg identiek aan de Nforce die ook een soort van Unified Memory gebruikt. Het enige echte verschil zit hem 200 Mhz DDR chips terwijl de Nforce het moet doen met tragere Dimms. Sterker nog, de Nforce komt voort uit de Xbox ontwikkeling (netwerk, 5.1 sound etc).

De grote kracht van de Xbox ligt hem in de games die specifiek voor de GF3A gemaakt worden (waar dat soort games voor de PC nu pas mondjesmaat beginnen aan te komen). Het geheugen waar die GPU gebruik van moet maken is echter feitelijk GF2Pro geheugen. Komt nog bij dat het een matige CPU is waarvan men destijds dacht dat dat wel genoeg zou zijn omdat de GPU veel werk zou overnemen maar ook dat valt vies tegen als je tegenwoordig kijkt hoeveel CPU-power een dikke GPU nodig heeft om vertex-data te feeden naar de GPU (R300 + ti4600).

Al met al heb ik ook al het nodige aan Xbox games zien stotteren, niet in de laatste plaats door de 64 MB waarin alles gepropt moet worden. Persoonlijk denk ik dat een 1,4 Ghz XP + een GF4 Ti4200 al genoeg is om een Xbox te evenaren.

Nee een AMD Athlon XP 1800+ = 1,533 Ghz.
Dus je zit er aardig naast

DX9 bestuurt toch je video :?
Dan kan je DX9 toch manipuleren :)

Goed gedaan, maar qua hardware zit er toch niet zo'n verschil tussen een Xbox en een pc? Waarom moet er zoveel moeite gedaan worden om de software dan te poorten? OS beveiliging van Microsoft(c)?

Porten kan alleen met de source-code. Hier is geen sprake van porten, dat kun je zien als je het nieuwsbericht goed leest.

Ze doen in principe 3 dingen:
- Veranderen het bestandsformaat naar PE EXE-indeling
- Ze zorgen ervoor dat bepaalde er sprake is omstandigheden die het XBox-programma verwacht.
- Ze zorgen ervoor verwijzingen X-Box-functies worden doorgestuurd naar Win32-functies.

En om dat voor elkaar te krijgen moet je echt wel een beetje moeite doen.

Een X-Box heeft vaststaande specs.
Games kunnen er b.v. 100% vanuit gaan dat er een GeForce3 in zit. Op je PC wil je het spel echter ook kunnen draaien als je een Radeon zou hebben.
Je zult dus toch moeten gaan emuleren als je alle games volledig aan de gang wilt kunnen krijgen.

hardware zit er toch niet zo'n verschil tussen een Xbox en een pc
Het platform is hetzelfde ja, maar de hardware is natuurlijk verschillend. PC's hebben onderdelen van tig verschillende merken, en zo zijn er dus legio configuraties te bedenken. De Xbox'en daarentegen hebben allemaal dezelfde hardware erin zitten. Wat ze zeggen is dat een Xbox-executable dus bijvoorbeeld een bepaalde soort videokaart verwacht en over z'n nek gaat als hij tegen een andere aan moet praten.

De xbox games zijn 9 van de 10 keer ook op cdrom te krijgen dus waarom zouden we zo moeilijk gaan doen :'(

HALO? Waaaaaaaar is HALO?

ja blijf jij maar bij lame cd rips..
mis maar alle coole features/films ;)

misschien bedoelt ie dat er ook pc versies van zijn op cd-rom ofzo

of heb ik dat mis?

(als games anders zo makkelijk zijn om te zetten dan hoeft een emulator niet)

* 786562 dog4life

ZO kun je maar zien dat geen enkele console veilig is voor de PC ...
Ik vind het helemaal niet errug ....best wel leuk zo n spelletje eens op mijn gemak achter mijn PC te spelen.,...
Dus lof voor de makers hier van !
(en toch weer een klein stropke voor de X Box die het toch al niet makkelijk heeft .....(mijn inziens !))

(the breaker , heeft trouwens ook een goed punt ...waarom moeilijk dan als het makkelijker kan inderdaad !!!!)

en een xbox game is duurder dan cd-rom

je zal wel n superl33te pc moeten hebben om n beetje redelijk xbox spellen te kunnen spelen... en volgens mij zijn de meeste xbox spellen ook op de pc zelf verkrijgbaar.....
en die emulator zal wel net zo buggy zijn als de n64/ps2/etc emu's

Superl33t pc valt wel mee volgens mij...

XBox = P3 733 (ofzo) met een Geforcje.. (naja, ongeveer dan)

Een beetje pc heeft dat ook wel..

en buggy? Nee, lijkt me juist niet.. Xbox = PC, dus emulatie als in bv een motorola cpu set compleet emuleren naar een i386 cpu bv, is nieteens van toepassing: Gevolg: Geen bergen (verloren) cpu power door emulatie, en weinig tot geen mislukte emulaties, aangezien bijna alles al compatible is.

maar omdat alle hardware in elke xbox het zelfde is en de software daarop dus is afgestemd kan het maximale uit de performance gehaald worden. Daarnaast worden er in de X-box ook nog speciale chips gebruikt. Dus je kunt ervan uitgaan dat je een beest van een PC nodig hebt om een Xbox spel een beetje soepel te draaien.

Je vergeet dat Xbox-games in ring zero draaien, oftewel in een modus die in een normale Windows 2000-omgeving naast de kernel alleen voorbehouden is aan drivers en fundamentele routines. Normale Windows-applicaties mogen daar niet eens in de buurt komen, want dat zou de stabiliteit niet ten goede komen.

Xbox-games draaien dus veel dichter bij het metaal van de processor, en performen daardoor beter dan applicaties/games onder Windows 2000. Windows 2000 (of XP for that matter) heeft een veel hogere overhead dan de Windows-versie die in de Xbox zit.

Dus een emulator die je opstart vanuit DOS of een omgeprogrammeerde BIOS EEPROM zou een veel betere optie zijn.

Als de code voor de emu te groot is, zou je zelfs kunnen denken aan een bootable CD-rom.

Jahoor, ik ga mijn BIOS wel ff flashen met de bios van de xbox.... |:(

Mooi, heel mooi :)

Het is zeker wel mogelijk om de xbox te emuleren op de pc... probleem is het specifieke os voor de xbox en de spellen maken gebruik van specifieke functies. Deze functies moeten dus allemaal geumeleerd worden (dmv een wrapper ofzo) zodat ze op een pc te spelen zijn... Het emuleren van al die functies kost nogal wat moeite maar uiteindelijk zal het zeker gaan lukken.

Verder was in het begin de data van de xbox geloof ik ook beveiligd, dat moest dus eerst nog gekraakt worden maar dat was vrij snel gedaan dacht ik.

Ben benieuwd hoe snel dit zich zal ontwikkelen.

ps. 666angel...die supersnelle pc valt wel mee. Volgens die gasten is een 750 Mhz bak met een degelijke videokaart voldoende om alle spellen te kunnen spelen. En ja, buggy zal ie zeker zijn... is ook niet meer dan logisch als er maar door een klein aantal personen aan gewerkt wordt, zonder professionele testomgeving of wat dan ook.

Het is zeker wel mogelijk om de xbox te emuleren op de pc...
Absoluut niet waar. Althans niet op huidige PC's en al helemaal niet op eentje van 750MHz.
probleem is het specifieke os voor de xbox en de spellen maken gebruik van specifieke functies.
Dat is dus het eenvoudige gedeelte. XBox software heeft rechstreeks toegang to hardware registers, en je zult dus de video en audio hardware op register niveau moeten emuleren. Die hardware is niet hetzelfde als PC hardware (de sound hardware al helemaal niet -- 192 hardware accelerated channels, waarvan 128 met DSP). Voeg daaraan toe dat Xbox unified memory heeft, veel software in ring 0 draait, en dat x86 erg slecht is in self-virtualisation. ph33r!

Je vergeet wel dat de X-box draait onder een sub-OS dat afgeleid is van Windows 2000.

Maar ik geef je gelijk, mocht er een simulator komen dan zullen weinigen er genieten van hebben....

Je vergeet wel dat de X-box draait onder een sub-OS dat afgeleid is van Windows 2000.
Dat hoort dus bij het eenvoudige gedeelte.

wacht even, hoe zat het ook al weer, de emulator is legaal maar de roms niet, toch :? Volgens mij wordt die emulator best pittig om te draaien als je kijkt wat je voor een n64 emulator nodig had qua hardware..

In principe is een emulator legaal.
In principe zijn roms legaal. Roms = gamedata (origineel of in een apart formaat).

Roms worden illegaal op het moment dat je in het bezit bent van een Rom zonder dat je de rechten hiervoor hebt (d.w.z. je hebt een copy van iemand en niet het origineel).

[edit typo]

Een emulator is NIET legaal als er een kopie van het Xbox-bios in zit, want die is copyrighted. Een gehackte of anderszins getweakte bios is volgens mij ook niet legaal, want ik dacht dat dat een vorm van reverse-engineering was en dat mag ook niet.

reverse engineering is in vrijwel alle rechtssystemen legaal teneinde een compatible systeem te maken

Het kan echter goed zijn dat MS een groot aantal methoden en implementaties die nodig zijn om een xbox te maken / emuleren gepatenteerd heeft waardoor het vrijwel onmogelijk is een legale emulator te maken.

het spreekt natuurlijk vanzelf dat het niet toegestaan is software zoals een bios of rom te kopieren aangezien die beschermd wordt door copyright.

De emulator is legaal, maar je mag alleen roms hebben van de spellen als je het originele Xbox spel ook hebt. Het is net als met cd's, je mag wel een kopie voor eigen gebruik maken, zolang je het origineel maar in bezit hebt.

dit geld dus ook voor de rom van de xbox zelf

(zie bv een ti-83 emulator daar krijg je vaak geen rom bij die moet je zelf uit dat ding uploaden uit je ti83(ja uploaden ti83 is lager dan pc)

als je het legaal wil doen moet je dus xbox hebben behalve als m$ het promote ofzo dat er ook een emulator komt voor orginele games (en dan zorgt m$ ervoor dat er ook cd protectie in komt bv (in de emultor)(dvd = cd (klein schijfje))

Kunnen ze geen PC emuleren op de XBOX?? lekker goedkoop en toch snel bakkie }>

met te weinig geheugen

maar het kan wel tis bijna een pc
maar omdat er al een gedeelte windoos inzit kun je die misschien aanvullen zodat er in ieder geval windows op draait en directx en opengl ofzo
want dan kun je er in ieder geval bijna elk windoos programma op draaien en vast ook games alleen ja dan is 733 mhz niet erg veel meer en dan die 64 mb zal ook niet lekker werken (dat is ook video geheugen toch )

er zit al een HD in dus het zou wel windows kunnen draaien (die natuurlijk aangepast is)

voor linux was er al iets toch een chip enzo

eigelijk hoef je dan niet meer te emuleren

het geheugen is alleen wel weinig zeker omdat het ook video geheugen is

en dan gelimiteerd geluid van maar 192 channels en nog 64 normale maar ja

Volgens mij ben je al illegaal bezig van het moment dat je het .xbe bestand converteert naar .exe want dan wijzig je het bestand...

Boeie!
Jij hebt de CD gekocht (en ook de files erop) WAT je ermee doet boeit niet, zolang je ze maar niet aan anderen beschikbaar stelt.

Jij mag immers met jouw spullen doen wat je wilt. Als je er een kopie op enige wijze van maakt (met of zonder enige verandering) en deze voor jezelf houdt is er niets aan de hand.

Op het moment dat je het aanbiedt aan anderen, ben je in overtreding.

Klopt niet helemaal

het is over het algemeen zo dat je een gebruiksrecht koopt op de software, dit geeft je echter nog niet het recht om de software te wijzigen e.d.

zie het meer als het "lenen" van een boek bij de bieb, je mag er in lezen wat je wilt, maar als je er iets in veranderd zijn ze ook niet echt blij met je denk ik? :)

Just my 2 cents uiteraard ;)

Nee, dan zou je dus gewoon een bepaald bitje mogen veranderen in de executable volgens jou?
Bijvoorbeeld een 'willekeurig' bitje waardoor toevallig een kopieer beveiliging omzeep wordt geholpen? -> Nee dus.
Reverse engineering mag al niet, en dit soort wijzigingen mag al helemaal niet.
«  1  2  »

Op dit item kan niet meer gereageerd worden.

Volgende 13:08 Eerste kwartaalresultaten HP-Compaq als verwacht
Vorige 12:40 Namen van de NV18 en NV28 gevonden
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011