View Full Version : XBox Architecture
MX-43618
December 26th, 2008, 17:56
Hello everyone,
I wonder if someone can link me to some website where I can read about the XBOX's inner architecture in depths? So I mean I found some sites where I've read about some things which anyone can know just from opening up the console itself like: here (https://www.cs.umd.edu/class/fall2001/cmsc411/proj01/xbox-too/index.html)
So i mean I want to know exactly how this console works. CPU Instructions, I/O, Data Manipulation/Storing in memory, what kind of cpu instructions are supported etc.
My problem is that I find information but everything i about the XBOX360 in what I don't have any interests. So every links to sites where I can read about XBOX in depth will be appreciated.
Thanks for everyone's further help.
Cheers.
Squall-Leonhart
December 26th, 2008, 19:50
its a Pentium 3 Class system, and is extension compatible with Pentium3 processors,
Phil
December 26th, 2008, 19:53
It was clocked slower then the fastest P3's of the day though.
Squall-Leonhart
December 26th, 2008, 19:55
Phil, your signature has vanished.
anyway, yeah, it is.
MX-43618
December 26th, 2008, 19:59
so it's just a simple Intel Pentium III Xeon processor, okay then I have knowledge about it's instructions, sooo the whole XBOX is mainly a PC with little modifications? Intel CPU, nVidia GPU, DDR RAM, Modified Win2000... Now I only want to know how this box works exactly just the only problem I can find everything from BOX360 but nothing from Classic...
Squall-Leonhart
December 26th, 2008, 20:13
Xbox Hardware Overview - Xbox-Linux (http://www.xbox-linux.org/wiki/Xbox_Hardware_Overview)
MX-43618
December 26th, 2008, 21:00
thanks a lot ;)
Okay after 6hours of studying the box's architecture I'd have a question. Wouldn't it be better to write a simulation software like pcsx2? I mean what's the point in translating the kernel and other functions? That will be very game specific... The emu will surely be able to run some games at really nice fps on low pc hardware but won't be able to run other games. Wouldn't it be better to simulate a virtual xbox machine on the computer with dumped xbox bios file? On that way the emulator should be able to run every games, but well yeah little more hardware requirements on the pc side. I don't know exactly if it is possible because I still don't know about the xbox operating system in depth but till now I think it is still a better way to run the most of the games instead of running 1 or 2 specifically.
ryhu666
December 27th, 2008, 18:52
I mean what's the point in translating the kernel and other functions? That will be very game specific... The emu will surely be able to run some games at really nice fps on low pc hardware but won't be able to run other games.
You should take a look at these :)
Cxbx Official Discussion - Emuforums.com (http://forums.ngemu.com/cxbx-official-discussion/)
Dxbx Official Discussion - Emuforums.com (http://forums.ngemu.com/dxbx-official-discussion/)
Cxbx, The Xbox Emulator -> News (http://caustik.com/cxbx/)
MX-43618
December 27th, 2008, 22:59
Yeah, I perfectly know that, and what I've read about the xbox system itself looks freaky. It's architecture is very similar to a PC but still it's totally different. Okay it uses nvidia chip but the DirectX API it uses is very not the same as on the PC side. Even the Memory Architecture is not the same. Okay that we can use more or less from the code to run, but still it's game dependant. High Level Emulation would be nice, if xbox'd use the same arhitecture as PC. But here we talk about different memory addressing methods, different data,exception methods and so on. What I see from here as much we gain from running some really specific code direclty we have to recompile two times more code, and we're talking in a game specific way. What I'm still at a dinamic recompilation still needs higher hardware requirements, but doesn't fall in game specific emulation problem. Also if I'm right on XBOX some methods can straightly touch the hardware. Well on PC under an OS it is not that simple.
So Please correct me if I'm wrong at some places, but I got this far till now.
Cheers :)
patrickvl
December 27th, 2008, 23:56
No, you're not wrong - you might want to read up on Xenoborg tho - the first LLE (Low Level Emulator) of the Xbox1 I heard about; It's author Blueshogun96 wrote about this a while ago, here : http://forums.ngemu.com/misc-xbox-discussion/104900-sub-forum-request-xenoborg-official-discussion.html#post1348881 and here : http://forums.ngemu.com/hardware-discussion/113977-creating-emulator.html#post1506902
Also, there's another emulator in the works, which is becoming a sort of hybrid LLE/HLE Xbox1 emulator, called IronBabel. It's author gave a little background on it here : http://community.livejournal.com/ironbabel/ and here : http://daeken-eulogy.livejournal.com/17833.html
The nice thing about IB is it's design : the same codebase also contains a Wii and a PC emulator, which I consider rather nice & elegant.
shogun_nihon
December 28th, 2008, 00:43
So theres another Xbox emulator in development?
magiceyes118
December 28th, 2008, 11:11
wow this looks like an interesting project
MX-43618
December 28th, 2008, 14:00
Yeah I'm exactly talking about an emulator like VirtualBox, simulating the XBOX hardware/BIOS. As a matter of fact I still don't know enough about XBOX architecture there are still some cloudy shapes around, and I can't find a decent documentation.
ryhu666
December 28th, 2008, 16:56
Xbox - Page 2 - EmuTalk.net (http://emutalk.net/showthread.php?p=382167#post382167)
Maybe this thread will help you ;). Blueshogun96 posted lots of docs in it.
For non-working links use this: Internet Archive: Wayback Machine (http://www.archive.org/web/web.php)
And also, I don't know if this helps: bunnie's adventures hacking the Xbox (http://www.xenatera.com/bunnie/proj/anatak/xboxmod.html)
patrickvl
December 28th, 2008, 21:00
The idea to use VirtualBox as a starting point for an Xbox1 emulator is not new.
I wrote the same thing (http://forums.ngemu.com/misc-xbox-discussion/104900-sub-forum-request-xenoborg-official-discussion.html#post1351934) a while ago - although no usefull reply came from that.
And also, watch this thread : virtualbox.org :: View topic - going to sound weird.... (http://forums.virtualbox.org/viewtopic.php?p=52184#52184) Who knows what it will lead to ?!
shadow_tj
December 30th, 2008, 17:02
if you want more information about the inside of the xbox.
try this book.. it has lot of information about the hardware.
Hacking the Xbox: An Introduction to ... - Zoeken naar boeken met Google (http://books.google.com/books?id=FdPNE6beKcMC&printsec=frontcover&dq=hacking+xbox&hl=nl#PPR1,M1)
MX-43618
January 5th, 2009, 20:29
Geez man xbox is a monster... I really don't think I could help with an emulator on any way. It's just.... VGA-CPU: 64bit bus. VGA-RAM: 128bit bus. VGA-MCPX: 8bit bus. Dynamic Recompilation would eat up every resources of the poor pc with everything properly emulated like the guys said on the VBox forum Patrickvl linked for me.
patrickvl
January 5th, 2009, 21:04
@MX-43618 : I don't agree - you really could help with an Xbox1 emulator, because as far as I can see you've gathered lots of info on the hardware. But not only that - you seem to understand it too, so from my point of view you could start with documenting stuff. Next would be a decision : start coding or stop. Start coding needs another decision : start a new emulator or join an existing project. Joining an existing project needs another decision : Cxbx? Dxbx? Xenoborg? IronBabel? VirtualBox? You see - lots of choices!
MX-43618
January 6th, 2009, 17:00
I really don't have that much information about the xbox. Blueshogun told me he has lots of information, so when he has time he'll merge those and I'll see what I can figure out. Maybe then I'll get a complete overview how the xbox works, because now I'm clean with the hardware architecture and with the components; also how each component is connected to the other but I still don't know a lot of things, like how actually the xbox bios works.
I've watched many sites on the internet but I couldn't find anything in depths. I also tried to dump my own xbox's bios into a bin file but I don't know if I can decrypt it on some way to see what's inside.
Also I need some more information about the memory addressing, cpu instructions, interrupt handling and things like that. I don't think it's a von Neumann Architecture console however it looks really similar with some smaller modifications like in the von neumann architecture the cpu controls everything, but in this console everything is connected to the gpu chip.
But then how actually an xbox program works? Sending a command to the gpu chip, which will send the command to the cpu what will make the necessary calculations; and then will send a response to the vga what will draw the scene; or how? I just don't see other way of functionality with the components connected on this way.
emurex
January 11th, 2009, 10:51
That right, you need programming,electronics know how, hacking also. and finally sacrifice a xbox of course.
More devs help out will make the scene more active. keep up the good work all xbox devs.
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.