docs: Updated documentation on INI file handling.

This commit is contained in:
Vas Crabb committed 2026-05-19 19:28:33 +10:00
1 parent dda3ab812e
commit 660f16ee50
8 files changed
+34 -20

No files matched your search

+3 -1
View File
@@ -40,7 +40,9 @@ endif
EXE :=
ifeq ($(OS),windows)
EXE := .exe
ifeq ($(MSYSTEM),CLANGARM64)
ifeq ($(MSYSTEM),CLANG64)
PROJECTTYPE := mingw-clang
else ifeq ($(MSYSTEM),CLANGARM64)
PROJECTTYPE := mingw-clang
else
PROJECTTYPE := mingw-gcc
+1 -1
View File
@@ -66,7 +66,7 @@ make sure the following options are set correctly:
Now, you may want to take a moment to look below at the Configuration Settings
section to see how to set up these next options.
As explained in :ref:`advanced-multi-CFG`, MAME has a order in which it
As explained in :ref:`advanced-multicfg-order`, MAME has a order in which it
processes INI files. The BGFX settings can be edited in ``mame.ini``, but to
take full advantage of the power of MAME’s configuration files, you’ll want to
copy the BGFX settings from ``mame.ini`` to one of the other configuration files
+1 -1
View File
@@ -54,7 +54,7 @@ Once you've found settings you like, write the numbers down on a notepad and exi
Configuration Editing
---------------------
As referenced in :ref:`advanced-multi-CFG`, MAME has a order in which it processes INI files. The GLSL settings can be edited in ``mame.ini``, but to take full advantage of the power of MAME's config files, you'll want to copy the GLSL settings from mame.ini to one of the other config files and make changes there.
As referenced in :ref:`advanced-multicfg-order`, MAME has a order in which it processes INI files. The GLSL settings can be edited in ``mame.ini``, but to take full advantage of the power of MAME's config files, you'll want to copy the GLSL settings from mame.ini to one of the other config files and make changes there.
For instance, once you've found GLSL settings you think are appropriate for Neo Geo games, you can put those settings into neogeo.ini so that all Neo-Geo games will be able to take advantage of those settings without needing to add it to every game INI manually.
+1 -1
View File
@@ -56,7 +56,7 @@ Once you've found settings you like, write the numbers down on a notepad and exi
Configuration Editing
---------------------
As referenced in :ref:`advanced-multi-CFG`, MAME has a order in which it processes INI files. The HLSL settings can be edited in ``mame.ini``, but to take full advantage of the power of MAME's config files, you'll want to copy the HLSL settings from mame.ini to one of the other config files and make changes there.
As referenced in :ref:`advanced-multicfg-order`, MAME has a order in which it processes INI files. The HLSL settings can be edited in ``mame.ini``, but to take full advantage of the power of MAME's config files, you'll want to copy the HLSL settings from mame.ini to one of the other config files and make changes there.
For instance, once you've found HLSL settings you think are appropriate for Neo Geo games, you can put those settings into ``neogeo.ini`` so that all Neo-Geo games will be able to take advantage of those settings without needing to add it to every game INI manually.
+19 -5
View File
@@ -1,12 +1,15 @@
Multiple Configuration Files
============================
MAME has a very powerful configuration file system that can allow you to tweak settings on a per-game, per-system, or even per-monitor type basis, but requires careful thought about how you arrange your configs.
MAME has a very powerful configuration file system that can allow you to tweak
settings on a per-game, per-system, or even per-monitor type basis, but requires
careful thought about how you arrange your configuration files.
.. _advanced-multi-CFG:
Order of Config Loading
-----------------------
.. _advanced-multicfg-order:
Order of Configurattion File Loading
------------------------------------
1. The command line is parsed first, and any settings passed that way *will take
precedence over anything in an INI file*.
@@ -100,7 +103,7 @@ Examples of Config Loading Order
8. ``smleague.ini`` (parent system)
9. ``finlarch.ini`` (system)
*Remember command line parameters take precedence over all else!*
*Remember command line argument take precedence over all else!*
Tricks to Make Life Easier
@@ -110,3 +113,14 @@ Some users may have a wall-mounted or otherwise rotatable monitor, and may wish
to actually play vertical games with the rotated display. The easiest way to
accomplish this is to put your rotation modifiers into ``vertical.ini``, where
they will only affect vertical games.
Multiple Search Folders
-----------------------
If you include paths to multiple folders in your :ref:`inipath setting
<mame-commandline-inipath>`, MAME will search for each INI file in each of the
specified folders in the order they are listed. If a file with the same name is
found in multiple folders, settings from files found earlier have precedence
over settings in files found later. MAME always saves INI files to the first
folder specified in your inipath setting.
+6 -8
View File
@@ -1125,18 +1125,16 @@ Configuration Options
- ``mame.ini``
- ``debug.ini`` (if the debugger is enabled)
- ``source/``\ *<driver>*\ ``.ini`` (based on the source filename of the driver)
- ``vertical.ini`` (for systems with vertical monitor orientation)
- ``horizont.ini`` (for systems with horizontal monitor orientation)
- ``arcade.ini`` (for systems in source added with ``GAME()`` macro)
- ``console.ini`` (for systems in source added with ``CONS()`` macro)
- ``computer.ini`` (for systems in source added with ``COMP()`` macro)
- ``othersys.ini`` (for systems in source added with ``SYST()`` macro)
- ``vector.ini`` (for vector systems only)
- ``raster.ini`` (for raster display systems only)
- ``vector.ini`` (for vector display systems only)
- ``lcd.ini`` (for matrix display systems only)
- ``source/``\ *<driver>*\ ``.ini`` (based on the source filename of the driver)
- *<parent>*\ ``.ini`` (for clones only, may be called recursively)
- *<systemname>*\ ``.ini``
(See :ref:`advanced-multi-CFG` for further details)
(See :ref:`advanced-multicfg-order` for further details)
The settings in the later INIs override those in the earlier INIs. So, for
example, if you wanted to disable overlay effects in the vector systems, you
@@ -3312,7 +3310,7 @@ Core Input Options
Generally you will want to set up the **-joystick_map** setting in the
per-system ``<system>.ini`` file as opposed to the main ``MAME.INI``
file so that the mapping only affects the systems you want it to. See
:ref:`Multiple Configuration Files <advanced-multi-CFG>` for further
:ref:`Multiple Configuration Files <advanced-multicfg-order>` for further
details on per-system configuration.
Maps are defined as a string of numbers and characters. Since the grid is
+2 -2
View File
@@ -63,9 +63,9 @@ copyright = u'1997-2026, MAMEdev and contributors'
# built documents.
#
# The short X.Y version.
version = '0.287'
version = '0.288'
# The full version, including alpha/beta/rc tags.
release = '0.287'
release = '0.288'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
+1 -1
View File
@@ -109,4 +109,4 @@ pre-existing mame.ini by copying changed options into it.
Once you are more confident with MAME options, you may want to adjust the
configuration of your setup a bit more. In this case, keep in mind the order in
which options are read; see :ref:`advanced-multi-CFG` for details.
which options are read; see :ref:`advanced-multicfg-order` for details.