ivwshane wrote:If it doesn't yeild any performance difference then why do it?
Emulation purposes. It makes the memory system more flexible, easier to handle and gives it the capabilities to handle operations that it couldent before. The previous memory system was unable to properly emulate some stuff, incapable of handling some of the newer stuff and its limitations meant that there were inaccuracys and bodges in some drivers going as far back as Pac-Man.
Have a skim over whatsnew.txt for the 78u releases. It'll probably make your head explode, but you'll get a general idea of the sort of stuff it does.
ivwshane wrote:Why is it not possible to take advantage of a GPU? If they can implement directx capabilities then it shouldn't be too hard.
GPU-accelrated emulators replace the rendering hardware/systems of the arcade board/console in question with pipelining code to ram it througth your PC. It takes what the emulated system would normally send to its emulated graphics hardware and turns it into lingo you PC's graphics hardware can understand and use. Getting down to details -
1) Most arcade graphics systems have bugger all to do with PC graphics systems, Its not a matter of just matcing the arcade functions to the PC functions.
2) Its not emulation. By replacing the original hardware's graphics system with your PC's, you are not emulating a part of the orginal hardware. Because its not the original hardware, it doesent produce the same effect and it doesent work as well. The result is a buggy high-maintence counterfit that will never match what the original did and will not be anywhere near as compatable with any games that get dumped for the system in question later.
3) It would have to be done on a hardware-by-hardware basis, different pipeliner for each different system. Playstation-based hardware would need a completly different one to Atari/Midway Seatle and Vegas.
4) MAME's arcitecture is specifically desiged for proper full software emulation and to emulate large amounts of different stuff using a common set of instructions. That alone makes it more resource intensive then an emulator specifically designed for certain hardware and makes it more difficult to implement the sort of specific bodgery required for GPU pipelining. Allot of any graphics-related performance gain you see between MAME and the likes of Zinc would be wiped out here. Chances are that it would end up slower for some stuff then proper software emulation.
5) Multiply 1), 2), 3) and 4) and you have a phenomenal amount of effort and hassle for something that produces an innacurate and inferor results for a higher amount of work, defeats the point of the emulator and only has marginal short-term gains. By the time all that hassle is finished, CPU speeds probably would of caught up with the amount of horsepower you need to do it properly anyway and the cycle would start all over again for the next batch of newly-emulated modernish hardware.
6) GPU pipelining in general is not compatable, portable or reliable in the long term in relation to both the software and PC hardware itself.
Not realating to logistics, implementation and quality issues -
7) It can't be done for all systems. Some stuff just does not have a 3D graphics system to pipeline, they do it all in raw code with processors.
8) 3D hardware isnt necessarly the bottleneck. PS-based hardware has completly weak graphics hardware, its the processor that you need grunt to emulate. Crusin and similar cases also have monster processors, plus they have a funky way of putting the image on screen that causes mass performance problems if you don't do it all properly and in real-time.
9) DirectX components are a completly different kettle of fish, they are just a common instruction set makes a program talk to windows easily without having to do your own interface code. In arcade emulation terms DirectDraw/Direct3D does the work of the moniter, DirectInput does the controls and DirectSound the Speakers. None of those are actually related to or replace anything to do with the actuall emulation of the hardware.
Phew!