Main > Main Forum

Hardware 3D Acceleration In Mame

Pages: << < (9/20) > >>

Fozzy The Bear:

Lets face some facts guys.... They're reverse engineering encrypted chips to make them run in an emulation where the protection is cracked out and is running on a modern piece of hardware, they're now even releasing a version that runs on dual core and quad core processors, precisely what is original apart from the Rom Dump code and even some of that is cracked to remove protection. So it's hardly any less original to be writing Direct X drivers and making it run as efficiently as possible with our modern hardware. It already isn't running on original arcade hardware.

The fact is, that as we know they don't want to do it. It has nothing to do with copyright infringement at all. All they want to do is pick every piece of arcade hardware to pieces to find out how it works. It's like a kid pulling a radio or a clock to bits to find out where and what all the parts are for. It's a purely academic mental exercise for them and it's clear that that is all they see it as.

Which is why they don't care what end users want or need. The end application is simply not their objective. Lets face it this is exactly why Microsoft has such a piece of defective bloatware in Windows.

I'm kind of in two camps here, mostly because I'm hearing what several people are saying in this forum and finding that I agree with almost all of it.  On the one hand I do indeed understand and acknowledge and appreciate the huge amount of work and effort that is put into Mame. But on the other hand it has no actual application objective, which makes it a little pointless.

I'll absolutely acknowledge that it's their software and they can do as they please with it. They have the absolute right to determine what their own objectives are and how they want to proceed with them. Even if other people think it's just a pointless mental exercise if they don't apply it. That doesn't mean we don't, similarly, have a right to say that we think that. Nor does it mean that we don't have a right to say that we think they really need to consider using accelerated hardware, which is no less or more original than the rest of the hardware we're running this on.

Best Regards,
Julian (Fozzy The Bear)   

SavannahLion:


--- Quote from: ark_ader on February 23, 2008, 04:09:54 am ---
--- Quote ---What about when some of the more recent games hit the market? How could MAME ever hope to properly emulate games like Police 911 (aka Police 24/7)? WTF are they going to do? Assign body movements to keys so people can use their DDR pads for motion? That would be an insult.
--- End quote ---

Eye Toy does a pretty good job in that department.

--- End quote ---

Thank you for missing my point.


--- Quote from: Fozzy The Bear on February 23, 2008, 07:14:08 am ---All they want to do is pick every piece of arcade hardware to pieces to find out how it works. It's like a kid pulling a radio or a clock to bits to find out where and what all the parts are for. It's a purely academic mental exercise for them and it's clear that that is all they see it as.

--- End quote ---

Exactly.

Fozzy The Bear:

MMmmmm! Not even a single comment from a Mame Dev....... I wonder if they even noticed.

Best Regards,
Julian (Fozzy The Bear)

taz-nz:


--- Quote from: Fozzy The Bear on February 23, 2008, 10:59:02 pm ---MMmmmm! Not even a single comment from a Mame Dev....... I wonder if they even noticed.

Best Regards,
Julian (Fozzy The Bear)

--- End quote ---

 :soapbox:

They probably have , and are probably ignoring the whole thread, aleast I hope they are.

They probaby haven't replied for the same reason I haven't until now, to reply to this rubbish only lends you more crediblity, where the best thing that can happen with this thread is that it falls of the bottom of the page and is forgotten.

Half the people in this thread have no clue what MAME is about or how complex emulation is, there are atleast a dozen comments that show complete lack of knowledge of how MAME works and how ROMS are handled. MAME is about reproducing the way games were in the arcade on the original hardware as closely as possible, and documenting how they work to get there. It's not about playing games thought that's what most of use are in it for.

Hell it would be great to be able to play any number of games at full speed on a mid range PC, but if it means the games no longer run and look like they did in the Arcade, Then what's the point of MAME as a emulator?  There are any number of ports, remakes and copies of most arcade games out there if you just want to play the games, most are hack jobs that have been made to suit their new plateform, But Ha you can play them on an average PC with 3D acceration who cares if it's not the same, the Dev's do and so do a large part of the MAME community, and that why MAME works the way it does, the Dev's have total control over the final results this way, everyone get to play the game as it was in the arcade no matter their hardware, their PC may run it slow but it looks and works just like it did in the arcade.

Now even if you overlooked the fact that no two 3D graphics card models produce the same results, and didn't care that a few things we a little of with some hardware setup, and you went the way of 3D acceration, do you have any idea how complex it would be to design a wrapper for each and every custom graphics chip used in the arcade, it's not like the programming in the roms is going to suddenly change to suit Directx hardware, the basic function of these chips may be the same but the call command are totally different, so you still need to emulate the rest of the system, map the entire graphics GPU and then write a customer wrapper to translate the commands coming for the emulated CPU into something the Directx API can understand, one effect may take a dozen command calls for Directx to preform, where as on it's native hardware it's was only one command. Then once you've manage to make the wrapper so all the data can be feed to your shiny 3D graphics card, you still have to deal with the GPU and the emulated CPU(s) getting out of step, the timing issues would be a nightmare to sort out.

Then you have to realise that you just done twice the work to get the same result, you still have to map the entire original harware, emulate multi chips, process all the graphics commands, and then translate them to another set of command and hand them off to the GPU, then check that the GPU stays in step with the rest of the emulation, it doesn't fix anything in just make for more problems.

Most of the games that are unplayable are not because of preformace, overclocked Core 2 Duo's fixed that issue, it's because the mapping and emulation of the original hardware is incomplete, atleast a third of what is in MAME runs on undocumented or barely documented custom hardware, the fact the Dev's manage to work this stuff out as fast as they do is incredable.

I challage anyone here that wants 3D hardware acceleration to write a Directx wrapper for any of the custom 3D graphics chip used in the arcade.
It took years to perfect the glide wrappers for 3DFX hardward and the glide API was open source and shared functions with OpenGL, most of the emulaters that support 3D acceration do so only on 3DFX based games because the wrappers have already been written.

Maybe with the move towards stream processoring on graphics card, their outputs will become standardised enough the Dev's can put them to use without changing they way the games look and feel, but even then it's more likely that the GPU will end up being used as sum sort of co-processor doing floating point calculations and feeding the results back to the CPU to handle the timing and final output.





   

MaximRecoil:


--- Quote from: SavannahLion on February 22, 2008, 11:01:32 pm ---Come to think of it, I have never heard of anyone actually downloading and examining the MAME code to figure out how to repair or replace some esoteric IC or component on an arcade PCB.
--- End quote ---

Now you have - link


--- Quote ---Hey all,

I took at look at the Mame source and it does a good job of laying out the protection ports.

It didn't seem too big, so I converted the logic into VHDL, added the additional bits needed for implementing with a z80 and suprisingly it fitted nicely into a 72 macrocell xilinx part.

I've made up a simple carrier board and it's all running like clockwork. Here's the source code, JED and UCF file for the pinout. Soon as I have some more time I'll put up the PCB files for it.

 Super Punchout Protection on a Xilinx CPLD

The layout was simple enough to use a single sided board, gotta love programmable I/O's. It'd probably fit into an Altera or Atmel part too.

I've only completed two levels as I'm really not that good at the game ;) But not problems so far. Should there be bugs anyone can update the code.

- James
--- End quote ---

And from his page that he linked to:


--- Quote ---Thanks must to the mame guys for figuring out the I/O port usage. Plus doing such a good job of documenting it in the punchout driver !

Good work guys !!!
--- End quote ---


Pages: << < (9/20) > >>

Go to full version