Man, I think it would never be made unless a dedicated team with some great funding has the ability to work on this over a period of years. It took MS awhile to reverse engineer the XBOX emulator on the XBOX360 and all the games nearly work (and that's with a full team and staff). The sad thing about emulators is that as more systems grow more complicated and complex; it will be harder to create emulators for them.
It all depends on what you want from a 360 emulator. If you want one that runs homebrew and just emulates some framebuffer stuff, a 360 emu can be created right now. If you want one that plays commercial games (at all), then expect a good 3 years or so. Either way, for 360, it's best to use HLE and not emulate the hardware that doesn't need to be emulated like the GPU. It will be emulating the CPU and it's vector units that will slow you down.
You guys are right anyway im also guessing that a graphics card that can match the 360's custom ATI Graphics processor or the upcoming Gears of War port to the pc. I got a crappy ATI X1050 and i was foolish to try playing the Lost Planet demo (dx9) of my pc.
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.
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.