Here is a picture of the folders that are created when you extract your downloaded MAME file. Some folders are created as you run MAME and play games. For instance the sta folder wont be created until you use the save state system.
Below is a brief explanation of what each folder is used for...
Folder | Description |
artwork | Background artwork add the missing graphics used around the screen on arcade games. |
bgfx | Contains the files for the bgfx video rendering system. |
cfg | Contains xml based config files for systems that contain any changes you make on the in-game sliders. |
ctrlr | This folder contains controller configuration files. |
docs | Where the MAME readme files are stored. |
hash | This is where MAME stores xml based software lists for certain drivers. |
history | Created to hold an sql database by the MAME LUA scripting system. |
hlsl | This is where hlsl effects and game specific settings are stored. |
ini | Contains system initiation files based off of the main mame.ini. |
inp | Where recorded game sessions are stored using the -record option. |
language | This folder contains language files for the MAME interface. |
nl-examples | Contains example files for MAME's net list functions. |
nvram | This is where MAME saves EEPROM and RAM data from games |
plugins | This folder contains scripts for the MAME LUA scripting system. |
roms | Roms are the file MAME uses to load games. This is where they go. |
samples | Some games have incomplete sound emulation so samples placed here are used instead |
snap | This folder is where MAME can save screenshots and video files. Each system has it's own sub folder. |
sta | Save state files are used to save your surrent position in a game. Each system has it's own sub folder. |
MAME also has several support files that are installed by default...
Most of these files are not needed by MAME to run it's systems but can be useful in certain circumstances. Here is a brief example of what each one does...
File | Description |
castool.exe | Converts cassette image files back to an audio file in wav format. |
chdman.exe | Chdman can compress, decompress and patch MAME's disk images |
floptool.exe | Floptool can identify and convert floppy disk images. |
imgtool.exe | Imgtool is used to identify, create and manage disk images. |
jedutil.exe | Jedutil allows you to convert binary rom images between the JEDEC or PLA formats. |
ldresample.exe | Ldresample allows you to modify laser disk images. |
ldverify.exe | Ldverify check laser disk images for errors. |
mame.ini | mame.ini is used to store the default MAME configuration settings. |
mame64.exe | This is the main MAME executable file. |
mame64.sym | Contains debug information for the mame64.exe file. |
nltool.exe | Used to run, test and convert netlists. |
nlwav.exe | Converts netlist log files into wav audio files. |
plugin.ini | This configuration file will let you enable or disable MAME's LUA based plugins. |
romcmp.exe | Romcmp allows you to check or compare rom image files. |
ui.ini | Stores the configuration settings for MAME's user interface. |
uismall.bdf | This is a bitmap font used by the internal MAME ui. It can also be stored on a folder called fonts. |
unidasm.exe | Unidasm is a universal disassembler for software used on certain chips emulated in MAME. |
whatsnew.txt | Contains the updates to the current version of MAME. |
You can find a guide for many of these programs on the Tools page.