A multi-purpose emulation framework. specially for old games emulation.
MAME’s main purpose is to be a reference to the inner workings of the emulated machines. This is done both for educational purposes and for preservation purposes, in order to prevent historical software from disappearing forever once the hardware it runs on stops working.
Of course, in order to preserve the software and demonstrate that the emulated behavior matches the original, you must also be able to actually use the software. This is considered a nice side effect, and is not MAME’s primary focus.