well, I would have to think with MAME emulating hardware, they have to have some knowledge of how a lot of these custom parts work. otherwise playing Atari, Street Fighter 2, Mortal Kombat, or Namco-based games would be impossible.
^ this. for those who say repro'n or fpga'n custom IC's is impossible... how the fsck did they do it with mame emulation?!
The problem is that MAME doesn't necessarily emulate exactly how a custom chip runs. There's a huge difference between emulating the high level functionality of a chip vs. making it behave exactly the same as the chip, down to the every signal and clock cycle accuracy.
Take for example a custom graphics chip that has the capability to draw sprites, perform rotations, scaling, etc. MAME will simply look at the instruction written to the graphics chip and say that's a 90 degree rotation with 2x scale, so draw it to the MAME graphics framebuffer with those operations done.
To put that in an FPGA as a drop-in replacement, you'd need to first of all create the logic to do the scaling and rotation (instead of simply calling a function that uses your 3GHz PC CPU to calculate it), as well as doing all the memory addressing to draw it to the physical RAM chips, taking commands from the CPU, etc... and do it all with the exact same timing as the original chip. If something isn't quite perfect in MAME it runs just a bit faster, slower, lags, etc... on real hardware, the consequences of inaccurate timing will likely be much worse (collisions on the bus, data not getting written, operations happening out of order, etc).
If MAME was a circuit simulator instead of emulator, you could just take a piece of circuitry and drop it in real hardware... but then it'd be so slow that most games wouldn't be playable, and most pieces of hardware wouldn't be emulated, because of the difficulty to create circuit accurate emulations.
Custom or not, you can get an understanding of the hardware from MAME, but you won't necessarily get the details of the hardware implementation from it (i.e. even for something like a standard Z80, you couldn't generate a hardware replacement just from MAME).
DogP