View Single Post
Old April 27th, 2008   #2 (permalink)
Rebel_X
Smart Star
 
Rebel_X's Avatar
 
Join Date: Sep 2002
Location: Chicago, Oak Lawn
Posts: 687
The problem with XBox emulation is that intel created some kind of protection inside it's processors from Pentium 4 and later, that you cant execute or emulate cpu instructions under the same cpu or similar one.. (something close to this!) that's why the only solution was to use virtualization technology.. but till now nobody dares to deal with it for xbox..

besides cxbox for example uses some kind of LLE (low level emulation) to try to execute the instructions directly.. but it's far from finished.. I guess, ask blueshogun06 for this.

IMHO any cpu core emulation should be done in assembly language, since you can use or imitate same registers and transfer values between them, since all cpus (mostly) contains index registers, main registers for input/output like the accumulator (i.e ax/eax) and flag registers to tell about the state of value stored signed or not, carry bit, odd/even and others..

about the future of emulation, it might be going to a dead end, since the complexity of the hardware involved means more efforts to make it done over the time, for example look at P©SX2, it took the project 4-5 years to be able to emulate FFX.. it's a tiresome project, and I can understand that, if you look at svn you will find that the project has over 3.5 Millions of code (without the external inclusion of windows header files)..

Anyhoo, it would be nice in theory, if somebody/group, will build an EDK (fancy name of Emulator Development Kit) that suits any emulator project, since the principle between console emulation is the same, I mean the same hierarchal execution of logic, but some specific stuff must be done, like writing code for specific cpu instruction to emulate them.. what I am talking about here, is already built framework of functions and classes (Templates) can be used for any project, but for specific project must be filled with specific functions.. this will cut down marvelous code creation time and efforts.. But probably building such project is just like mission impossible, to make it optimized.. (in my imagination, emulation might be like plugin system, plugin for PSX or PS2 or GameCube, Xbox or even Atari)
known that, that EDK will take care of multi-core/multi-threading handling for example making the programmers focus on the specific hardware to be emulated, thus as a consequences of this would be less time and effort to build working emulator (since there is a team that working on EDK to make it Bug-free, and Optimized, the other team focus CPU/GPU/SPU emulation), less bugs/errors/glitches since you can limit which module caused the bug the EDK or the EMUplugin ) and probably other stuff too..

Now I don't wanna hear any stupid comments about my imaginations, it's just imagination/theory. whether it could/would (with or without NOT) be done, but it's still nice idea (IMHO)
Rebel_X is offline   Reply With Quote