Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 64 reacties
Bron: Caustik.com

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.

Moderatie-faq Wijzig weergave

Reacties (64)

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.
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.
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.
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...
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).
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
met protection en exceptions.
DX9 bestuurt toch je video :?
Dan kan je DX9 toch manipuleren :)
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 :)
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.
Inderdaad, we krijgen denk ik eerder een Xbox Virtual Machine dan een XBox Emulator.
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.
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.... |:(
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.
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.
je vergeet dat Sony met succes bleem de nek om gedraaid heeft..dus ik vraag me af hoever ze komen.. MS heeft nog betere en duurdere advocaten als Sony
Ok, emulatoren voor consoles vind ik echt grote onzin hè, als je XBOX games wilt spelen doe dat dan gewoon op een XBOX, daar is dat ding tenslotte voor :P

MS heeft trouwens net aangekondigd dat de XBOX vanaf vrijdag €249 gaat kosten, der lopen hier veel goed verdienende IT'ers rond dus dat lijkt me niet zo'n probleem ;)
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.
Mensen je hebt wel degelijk een goede (lees snelle) pc nodig wil je X-Box spellen op je pc kunnen spelen. Ik zit met ongeloof te lezen wat een NOOBS de meeste toch zijn in emulator land ;). Met een P3 750 mhz RED JE HET TOTAAL NIET. Ik denk dat eerder aan de nieuwste video kaarten moet denken (R300 en nv30) plus een 3 ghz wil je uberhaut een x-box spel kunnen spelen. De emulator moet namelijk alles emuleren en even simpel de executable overzetten of wat ze ook gedaan hebben werkt dus echt niet he.
Euh, hou het denigrerende gedrag een beetje in toom, mm? Dat klonk niet bepaald 'user friendly'..


Maar... Dat gezegd hebbende, geloof ik eerlijk gezegd ook niet dat een 750Mhz genoeg zou zijn.
Kijk maar 's naar HALO. Graphics om van te watertanden, maar alles wat er op PC-gebied in de buurt komt (UT,Q3, Tribes2) heeft al snel iets nodig in de buurt van 1Ghz en GF2 om in hi-res en een beetje framerate te kunnen lopen..
Aangezien hij inderdaad een hoop moet emuleren, zul je wel een flinke machine nodig hebben, maar 3Ghz lijkt me iets overdreven. 1.5 lijkt me dichter in de buurt komen, maar dat is ook maar gokwerk.. Je moet je afvragen, wat voor systeem zou je normaal gesproken nodig hebben, en dan moet je daar nog eens een smak Mhz bovenop gooien voor het emulatie gebeuren.

Een GF3 lijkt me op zich ook niet onverstandig, aangezien de Xbox dat ding ook heeft, toch?
Alles zal wel afgestemd staan op wat die kaart kan doen, dus een GF2 zal er een hele kluif aan hebben, lijkt me.

Afwachten en uitproberen, zou ik zeggen.. Dat is de manier om d'r echt achter te komen.. Nou maar hopen dat ze de bugs d'r een beetje uit krijgen...
Met 'hi-res' en 'framerate' vergeet je even dat een tv op minder dan 640x480 @ 25 frames interlaced draait (weet zo de pal reso niet)!

Ik zeg niet dat je voor de emulator geen snelle bak nodig hebt, maar in de xbox heeft die grafische kaart nou ook weer niet zo veel te doen.
Dus? Misschien is bleem verslagen in een rechtzaak maar denk je dat mensen er niet aan kunnen komen ofzo?
Misschien moet je eens op die site kijken, die gast zegt zelf dat hij verwacht dat een 750mhz + capabele videokaart genoeg moet zijn... maar hij is zeker ook een NOOB, ik bedoel wat weet hij er nou van. Dat hij die xbox nu aan het reversen is zegt natuurlijk ook niks. *zucht*
Das mooi ... zo'n (mogelijke) emulator, maar er komen nog meer dingen bij kijken:
* Hoe kopieer je de DVD's ? Als je namelijk iets van een emulator hebt, dan zul je toch ook de software moeten hebben, en die DVD's zijn niet zomaar te kopieeren.
* Hoe is de performance ? De kracht van de Xbox is dat er een speciaal (gestript) OS op draait, en dat de hardware een constante is. Dit betekent dat programmeurs exact naar bepaalde hardware toe kunnen schrijven, en dit verbetert performance, maar hoe reageert dit als je er andere hardware achter stopt ?
* Waarom zou MS niet een Windows update uitbrengen die een Xbox emulation probeert te detecteren en naar de mallemoer helpt ? Ik geef toe dat het flauw klinkt ... maar MS heeft er wel alle recht toe ... zowel de Xbox als Windows zijn beide producten van MS.

Mijn vraag is dus aan een ieder die wil reageren, is het dit allemaal wel waard ? Kun je niet gewoon naar de winkel gaan, een Xbox kopen (die vergeleken met PC hardware echt niet duur zijn) en je favoriete spelletje kopen ... geen moeilijkheden, veel speelplezier, alles werkt .... en Gamen maar ... !
Het rippen van een DVD is supersimpel, je kan het doen via je Xbox en dan die files eraf kopieren (moet je Xbox wel gemod zijn).

Je kan het ook doen door gewoon Xbox ISO te downloaden en deze met een Xbox ISO proggie (zijn er meerdere van ;) ) te extracten naar je HD, op deze manier krijg je gewoon een dir van een game zoals je die ook hebt na de installatie van een normaal PC spel...

Kracht durf ik niets over te zeggen na de aankondiging van Doom3 eerst op de Xbox en daarna naar de PC.. Ik neem aan dat de Xbox doom3 ook gewoon op full detail kan spelen terwijl je op de PC daar een Geforce 4 voor nodig hebt.
idd ja, ik zie het zelf liever andersom win32 software op een xbox draaien. dat is dan een super goedkope workstation :)
Mijn vraag is dus aan een ieder die wil reageren, is het dit allemaal wel waard ? Kun je niet gewoon naar de winkel gaan, een Xbox kopen (die vergeleken met PC hardware echt niet duur zijn) en je favoriete spelletje kopen ... geen moeilijkheden, veel speelplezier, alles werkt .... en Gamen maar ... !
wil je niet desillusioneren, maar dat "geen moeilijkheden" en "alles werkt"? nou nee dat is ook weer niet altijd zo, zelfs als je een spel in de winkel koopt...dan zul je toch echt een console moeten hebben ipv een pc denk ik
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

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True