360 Emulator?

satnlafsasurot

New member
Yeah, mods aren't bad.

The really difficult hing would definitely be a complete emulator...that'd take forever.

What the heck would you run a computer emulator on? A 360 or something fast enough to handle all of the processing?

Would you need a fast-ass PC to run a PC emulator?

Thank you for askin that question...i am gonna be up all night in shambles thinking about that one...
 

blueshogun96

The Old Kid
Anyway, back on topic. I've found out that 3D hardware acceleration is available via homebrew for the 360. Click here.

This information would be extremely helpful for any would-be 360 emu author, but still not enough to run Halo 3 or anything like that. If you want to emulate basic homebrew, that can be done, but not very fast... but I personally think that 360 emulation is not nearly as impossible as everyone says. We just need to find new methods of emulation.
 

FatTrucker

Abusus non tollit usum
I don't think thats referring to emulating a 360 its referring to emulating 'on' a 360, as in people making homebrew games for the 360 and perhaps in the future developing emulators (for snes, megadrive etc) to work on a 360.

Current Processors are nowhere near powerful enough to be able to emulate a 360's processors, and graphics chips in software. Although PC's are very similar in terms of the types of chips etc, thats not how emulation works, everything has to be done in software which is a completely different kettle of fish.

Saturn emulation is still miles away from being perfect largely because the Saturn had so many different chips doing different things its very challenging to try to emulate those chips accurately in software and retain useable framerates, even with a PC with a really fast processor, and the Saturn is a lot less processor intensive than a current gen console.
 

blueshogun96

The Old Kid
I don't think thats referring to emulating a 360 its referring to emulating 'on' a 360, as in people making homebrew games for the 360 and perhaps in the future developing emulators (for snes, megadrive etc) to work on a 360.
Yeah, I'm aware of that. It's the GPU register information that makes it valuable for actually making an emulator. When you are able to write homebrew for a system from scratch, it makes writing an emulator for the target system much easier. For instance, PS2 emulation wasn't even a reality until homebrew from scratch was written for it because that type of homebrew helps document the system. ;)

Current Processors are nowhere near powerful enough to be able to emulate a 360's processors, and graphics chips in software. Although PC's are very similar in terms of the types of chips etc, thats not how emulation works, everything has to be done in software which is a completely different kettle of fish.
Yeah, I'm aware of this too. Of course you can see how PS2's vector units kill PCSX2's speed :p That's why earlier I was suggesting some alternative methods of emulation for 360 earlier in this thread to keep our hopes up. :)
FatTrucker has basically put the whole thing (LLE wise) in a nutshell. Right now, there's just absolutely no way the Xbox360, or worse yet the PlayStation3 can be emulated in software. IMO this means we need to search for new methods of emulation. Here's some ideas I was thinking of for a while now, and please note that I'm not an expert on Xbox360's hardware or executable file format (.XEX), only a novice so this might sound rather noobish...

1. Since we all know that the Xbox360's triple core PPC processor cannot be emulated in software (at least at a reasonable speed) a better solution might be to translate PPC assembly code into native x86-64 code (possibly in the form of a 64-bit .exe file similar to what Cxbx does). Yes that would be alot of work to do because PPC and x86 are two different architectures with little similarities (one big pain in the @$$ would be the big-to-little endian conversion stuff) but the result would be faster than using a standard interpreter or even dynarec.

2. Xbox360 uses 3 cores right? Well, one solution to that problem might be to split the execution of each core on multiple processors like on a Quad-Core CPU on the PC via threads. Each core could be dedicated to the execution of one processor and the other core could be dedicated to other tasks if it isn't being used. Only one problem remains, the vector units. Each core has it's own vector unit. I'm not sure of a viable solution for those though.

3. Alright, now that I've gotten the CPU theories out of the way, let's talk about hardware emulation. We could write an emulated Xbox360 kernel for emulated hardware such as GPU, APU, misc I/O devices etc. in the form of a .DLL file so that the more customized HLE/LLE code can be accessed dynamically which makes updating that code easier (again like Cxbx). One way of telling how a certain device is being accessed is allowing the translated PPC to x86-64 code access a certain memory address, catch the exception and emulate the action in software using our HLE/LLE code (whatever you prefer). Or we could use MMU.

4. Also the memory requirements for this would be rather high. I would recommend at least 1 GB ram and 512MB VRam to be on the safe side because well over 500 MB of system memory would be allocated for the UMA (Universal Memory Architecture) Ram emulation and 10MB for the framebuffer, Z-Buffer, etc. One other issue would be memory alignment because the PC and Xbox360's ram works differently (from what I read in this month's issue of GameDeveloper Magazine) so that would be something to consider.

These are just some rough ideas. I don't exactly have the skills to implement most of them, they are just thoughts and theories now. I hope this helps bring a little more hope on the subject. Feel free to comment on this. :ninja:
There it is just in case you missed it :)

Saturn emulation is still miles away from being perfect largely because the Saturn had so many different chips doing different things its very challenging to try to emulate those chips accurately in software and retain useable framerates, even with a PC with a really fast processor, and the Saturn is a lot less processor intensive than a current gen console.
Yeah, saturn is indeed a byatch emulation wize.
 

heat84

New member
BTW, want to see something funny?

http://www.xbox360emu.com/ <- The worlds most pointless emulation site!

xbox360_screen010.jpg


What game is this from? It looks like GTA but with much better graphics(look how shiny the tanker is). And speaking of that tanker, trucks in GTA drive around without trailers. Could this be from GTA 4?


Well, I just Googled Steel Monkeys and it isn't GTA 4. So what game is it? Is that a screenshoot from an XBOX 360? I'm a hard core PC'er but that graphical quality almost makes me wanna reconsider. Almost but not quite.;)
 

ulaoulao

Controller Man
Staff member
Its highly unlikely. The mistake most people seem to make is in comparing the specs of a PC to the specs of the host machine and thinking 'thats plenty powerful enough'.

What people seem to fail to realise is that an emulator has to do everything in software, the comparison like for like between the host machines specs and the PC's specs is irrelevant. That means any 360 emulator will have to run everything from the processing architecture to the graphics hardware routines in software.

Effectively like making a PC that doesn't need a graphics card it just emulates a Geforce 8800 using the processor......its absolutely bonkers complicated and would need impossible levels of data crunching grunt. Considering we've now reached something of a plateau with processor speeds and everything is now moving over to multiple cores I don't think there will ever be a working emulator for the next gen systems. When you consider that X-box, PS2 and Gamecube cannot be done with any real measure of success and even the Saturn is challenging, the next gen systems are just too complex to be emulated in software on a home system.
-

This pretty much sums up the answer to the posted question. Just a few things to add. One in response to all not FT, never say never.. Most thought n64 was never going to happen.. PS2 is also looking much better. IT will come around... Now personally I'm surprised it has not happened yet. An XBOX is for the most part a computer it's self. I'm 100% sure its 8086 architecture and almost sure it runs something very similar to the nt kernel. Of cause not like an OS, but more like CE. I mean a few things here..

one, Xbox uses an Intel chips set. and both x86 (almost sure).

two (I think) the drive is ntfs derivative, but the OS is not on the drive its naturally in the bios.

three, more then anything it's about understanding and emulating the OS(bios). understanding this will unlock the potential of reading the drives and discovering the locks and protection m$ took to prevent such a thing.


Emulating an Xbox is a totally new thing, it is a PC to begin with.. I think the possibility of seeing XBOX I and II on an IBM clones ( AKA PC ) is possible and will happen. Now linux or MAC may be a different story.. Yet we have linux running on them...

Also I dont think many care about writing an emulator for xbox on a computer for now. Since it practically is like converting a Chinese remake of we are the world back to English.. There are bigger fish out there right now. If any emu author is gong to attempt to emulate the XBOX using the emulation paradigms of today. then like FT said forget about it... Thats going to require one heck of a computer.. Try thinking more along the lines of a translator between XBOX API calls and Windows API Calls. Thats more realistic IMO.
 
Last edited:

blueshogun96

The Old Kid
Also I dont think many care about writing an emulator for xbox on a computer for now. Since it practically is like converting a Chinese remake of we are the world back to English.. There are bigger fish out there right now. If any emu author is gong to attempt to emulate the XBOX using the emulation paradigms of today. then like FT said forget about it... Thats going to require one heck of a computer.. Try thinking more along the lines of a translator between XBOX API calls and Windows API Calls. Thats more realistic IMO.
Maybe not, but I sure do care about Xbox emulation. It appears that you're talking about Xbox 1. There are many reasons why there are only a small handful of people working on Xbox emulation.

1. Lack of interest in the system itself.
2. Users usually use the "every good game has a PC port" excuse.
3. The average emu author (that knows what he's dealing with) that sees the specs of Xbox won't dare to try to emulate it.
4. Emulating Xbox1 is H-A-R-D. It's easy to assume it's easy to emulate just because it's like a PC, trust me, it's not.

IMO, mapping API calls and stuff like that (HLE) is more realistic for Xbox360. It would be impossible to write a complete emulator for Xbox1 using HLE. An LLE Xbox emulator is being worked on though, and no, it doesn't play commercial games now.
 

Ultimas Gamer 5

New member
Its highly unlikely. The mistake most people seem to make is in comparing the specs of a PC to the specs of the host machine and thinking 'thats plenty powerful enough'.

What people seem to fail to realise is that an emulator has to do everything in software, the comparison like for like between the host machines specs and the PC's specs is irrelevant. That means any 360 emulator will have to run everything from the processing architecture to the graphics hardware routines in software.

Effectively like making a PC that doesn't need a graphics card it just emulates a Geforce 8800 using the processor......its absolutely bonkers complicated and would need impossible levels of data crunching grunt. Considering we've now reached something of a plateau with processor speeds and everything is now moving over to multiple cores I don't think there will ever be a working emulator for the next gen systems. When you consider that X-box, PS2 and Gamecube cannot be done with any real measure of success and even the Saturn is challenging, the next gen systems are just too complex to be emulated in software on a home system.

Well most people aren't genious programmers who know all that stuff. Most people just want games.
 

ulaoulao

Controller Man
Staff member
Well most people aren't genious programmers who know all that stuff. Most people just want games.
- then fork over the cash, emulation never will be and never was only about "playing" the games. Asking any emu author , any and I promise you they will tell you they did if for vintage, the challenge, the love, or anything aside from playing that games. And most die hard emulation fans also do it for many other reason then just playing the games. Now I'm not sure if you mean playing old games or new games. If you use emulators for "steeling, and playing" the games then if and only "if" that is you, your a crook, hence the reason we here at emz dont provide links to games (roms). it is unethical and not what emulation is about. In short emulation give us the link to the past. To a young person it is very posible they can see the value in emulation and what it really is, but when they group up I a sure you they will then understand.

Ultimas Gamer 5- I'm not bring this post directly to you, but your comment carries the MO of some one with misguided ethics in emulation. So if the only reason you use emulation is to play newer games and I'm not saying thats you.. but if so you have emulation all wrong. Then again maybe you mean to sit back and play out some old school nes or what ever, then that I understand. yet if that is the goal then why emulate the xbvox when the same game is available on other platforms?:glare:
 
Last edited:

blueshogun96

The Old Kid
Well most people aren't genious programmers who know all that stuff.

Well, someone has to inform them why there is no 360 emulator. And it doesn't take a genius to understand it either.

I agree with ulaoulao too. I/we aren't saying you're a pirate that wants to cheat Microsoft, it's aimed at those who haven't learned this comcept. Emulators don't exist just to play game XYZ whether the emulator can or cannot assuming it exists. Period.
 

ulaoulao

Controller Man
Staff member
I totally disagreed. Look at Xbox emulator and only two games are working but still imperfect. For 360 emulator -----> Try 10-15 years from now.
- Ya I would agree. If the idea is to emulate the xbox in the same fashion is it is being emulated that is a very true statement. If some one decided to take another approach I dont seen any reason we wont ave a good xbox or 360 emulator. I just dont see how the API and assembly is that different from a x86 system. The idea of revere engineering is not the correct approach think more like "unlocking" or hacking it to work on A PC. Maybe something like ultraHLE will happen again, were an author takes the correct approach out of now where. Now as far as a mac goes ya try 25 years LOL..
 
Last edited:
Top