You need to pay attention to the "presets" folder inside of the "ini" folder. The presets overwrite the settings of a mame.ini.
If you want to change your defocus value, do it in the appropriate preset ini (raster, vector, lcd etc.).
from the docs (hlsl.txt):
Code:
Presets
-------
../ini/presets/raster.ini for raster screens
../ini/presets/vector.ini for color vector screens
../ini/presets/vector-mono.ini for monochrome vector screens (rename to vector.ini or .ini)
../ini/presets/lcd.ini for screens with TFT color LCD
../ini/presets/lcd-matrix.ini for screens with STN LCD matrix (rename to lcd.ini or .ini)
../ini/presets/gameboy.ini for Game Boy screen (same as lcd-matrix.ini with greenish color transformation)
../ini/presets/gba.ini for Game Boy Advance screen (same as lcd.ini)
from the docs (config.txt):
Code:
Enables or disables the reading of the config files. When enabled
(which is the default), MAME reads the following config files in order:
- mame.ini
- .ini (i.e. if MAME was renamed mame060.exe, MAME
parses mame060.ini here)
- debug.ini (if the debugger is enabled)
- .ini (based on the source filename of the driver)
- vertical.ini (for games with vertical monitor orientation)
- horizont.ini (for games with horizontal monitor orientation)
- arcade.ini (for games in source added with GAME() macro)
- console.ini (for games in source added with CONS() macro)
- computer.ini (for games in source added with COMP() macro)
- othersys.ini (for games in source added with SYST() macro)
- vector.ini (for vector games only)
- .ini (for clones only, may be called recursively)
- .ini
The settings in the later ini's override those in the earlier ini's.
So, for example, if you wanted to disable overlay effects in the
vector games, you can create a vector.ini with the "effect none" line
in it, and it will override whatever effect value you have in your
mame.ini. The default is ON (-readconfig).
As you can read, the mame.ini is the first file in a order of ini files. Hope it helps.