Mame2013 core particularities

So we can make a “mame.ini” directly in the retroarch main folder on windows. We can activate cheats in that ini (cheat 1) and put the cheat zip in that same folder for it to be detected. I could also make a neogeo.ini to specify a bios I want to use as default.

Then I tried something else that works in Mame standalone: a driver ini to make a configuration for all games using that driver. So I made a segas16b.ini in which I specified brightness and contrast values, pasted it in the retroarch folder along those mame.ini and neogeo.ini: not working. Then I added a line in mame.ini “inipath ini” and made that ini folder in which I pasted the segas16b.ini, still not working. Even tried to make an ini/source/segas16b.ini but still nothing detected on a game launch.

Is this option disabled? Do we have to use only the cfg folder for that? is there a format to make a driver cfg?

I dunno if this works but maybe try in the ROM folder

Good idea but nope, not working either.

Each time you launch a game a cfg is created in the cfg folder in a format made for retroarch. I have the feeling it takes priority over those ini files, even if there is no brightness/contrast setting in it.

I just tried to make a particular game ini (instead of a mame driver) and put a brightness value inside, it’s not working. I copied it in the same place were I have my neogeo.ini with the bios setting that is working. (retroarch folder by default)

Can’t help for system ini,

but by memory , mame write in current dir : configuration in cfg/ , init files in ini/ (can be owerwrite with a mame.ini in current dir) by default without init file , some option are set like : readconfig 1 writeconfig 1 you can change this by create a mame.ini and changing these values. or set in different path for ini or cfg .

Personally , i change the brightness in my mame.ini or on gamename.ini file and it’s works (on linux at least).

Ok, untill now I had in my mame.ini :

readconfig 1
writeconfig 0

inipath      ini

pause_brightness 1.0

cheat	1
skip_gameinfo    1

I changed writeconfig to 1 to see what happens. I killed shinobi.cfg in the cfg folder and made a shinobi.ini in ini folder with brightness 0.55 (nothing else).

I launch shinobi, the brightness is at 1.0 unchanged. I manually change the brightness in Mame GUI sliders to 0.9.

I check the cfg folder, there is a shinobi.cfg with:

<?xml version="1.0"?>

<mameconfig version="10">
    <system name="shinobi">
        <video>
            <screen index="0" brightness="0.900000" />
        </video>
        <counters>
            <coins index="0" number="1" />
            <coins index="1" number="1" />
        </counters>
    </system>
</mameconfig>

I check the ini folder, shinobi.ini became:

#
# CORE CONFIGURATION OPTIONS
#
readconfig                1
writeconfig               1

#
# CORE SEARCH PATH OPTIONS
#
rompath                   E:\Roms\Arcade-MAME
hashpath                  hash
samplepath                samples
artpath                   artwork
ctrlrpath                 ctrlr
inipath                   ini
fontpath                  .
cheatpath                 cheat
crosshairpath             crosshair

#
# CORE OUTPUT DIRECTORY OPTIONS
#
cfg_directory             cfg
nvram_directory           nvram
memcard_directory         memcard
input_directory           inp
state_directory           sta
snapshot_directory        snap
diff_directory            diff
comment_directory         comments

#
# CORE STATE/PLAYBACK OPTIONS
#
state                     
autosave                  0
playback                  
record                    
mngwrite                  
aviwrite                  
wavwrite                  
snapname                  %g/%i
snapsize                  auto
snapview                  internal
statename                 %g
burnin                    0

#
# CORE PERFORMANCE OPTIONS
#
autoframeskip             0
frameskip                 0
seconds_to_run            0
throttle                  1
sleep                     1
speed                     1.0
refreshspeed              0

#
# CORE ROTATION OPTIONS
#
rotate                    1
ror                       0
rol                       0
autoror                   0
autorol                   0
flipx                     0
flipy                     0

#
# CORE ARTWORK OPTIONS
#
artwork_crop              0
use_backdrops             1
use_overlays              1
use_bezels                1
use_cpanels               1
use_marquees              1

#
# CORE SCREEN OPTIONS
#
brightness                1.0
contrast                  1.0
gamma                     1.0
pause_brightness          1.0
effect                    none

#
# CORE VECTOR OPTIONS
#
antialias                 1
beam                      1.0
flicker                   0

#
# CORE SOUND OPTIONS
#
sound                     1
samplerate                48000
samples                   1
volume                    0

#
# CORE INPUT OPTIONS
#
coin_lockout              1
ctrlr                     
mouse                     1
joystick                  1
lightgun                  0
multikeyboard             0
multimouse                0
steadykey                 0
ui_active                 0
offscreen_reload          0
joystick_map              auto
joystick_deadzone         0.3
joystick_saturation       0.85
natural                   0
joystick_contradictory    0
coin_impulse              0

#
# CORE INPUT AUTOMATIC ENABLE OPTIONS
#
paddle_device             keyboard
adstick_device            keyboard
pedal_device              keyboard
dial_device               keyboard
trackball_device          keyboard
lightgun_device           keyboard
positional_device         keyboard
mouse_device              mouse

#
# CORE DEBUGGING OPTIONS
#
log                       0
verbose                   0
update_in_pause           0
debug                     0
debugscript               
debug_internal            0

#
# CORE MISC OPTIONS
#
drc                       1
drc_use_c                 0
bios                      
cheat                     1
skip_gameinfo             1
uifont                    default
ramsize                   
confirm_quit              0
ui_mouse                  0
autoboot_command          
autoboot_delay            2
autoboot_script           
http                      0
http_port                 8080
http_path                 web

So here it’s using cfg exclusively for brightness values.

I tried in Mame stand-alone: -if there is no file for a game and I change the brightness in game -> a cfg with this value is made -I make an ini with some brightness values -> it’s applied in game, the cfg has no brighntess value written

The behaviour is different in win7 x64.

I dunno ,

just tested and same here , i was remember that was working in the past but seem to not be the case in 0.151/0.152 only change done in UI seem to be save in cfg file and param like brightness ect set in the ini files doesn’t work.

I ll look at why ,when time.

The MAME core currently drops config files into the current working directory (so the directory you started RetroArch from - from the commandline).

This will have to be fixed properly so that all config files and/or SaveRAM files get saved to the system directory instead.

That true if you don’t don’t have an mame.ini (ume.ini) in the current working dir , you can set directory with a mame.ini file. I use a mame.ini so my ini,cfg,nvram,diff,snapshot are saved where i configured them in my mame.ini.

Maybe we can point the core to use retroarch system directory for mame.ini file , but it would be bad to enforce core to hardcode other dir in system directory , i like to set it where i like.

BTW, even if path , readconfig, writeconfig , are working with ini file , some param like brightness don’t.

Edit: @squarepusher

Maybe we can tweak OPTION_INIPATH in emuopts.c to set it for the libretro system { OPTION_INIPATH, “.;ini”, OPTION_STRING, “path to ini files” }, then we can put a mame.ini file here to default the mame working dirs (in this file we can point libertro system dir by default as well for other mame dirs) then user can tweak this file to set the nvram/dif/cfg/ini folders elsewhere if he want.

How retrieve libretro system dir in the core ?

@Tatsuya79 , the behavior is weird , if i put a namcos11.ini with brightness to 0.5 and pause_brigthness to 0.1 for test , and if i launch for example tekken , only pause_brightness works . I don’t understand why only some parameters works and other are simply overwritten .

Just to confirm ini brightness / contrast values are working now on win7 x64. (18/03/14 Mame2014 build)

In retroarch\system\mame: -cheat.7z is detected and working -ini folder with a segas16a.ini inside = brightness values applied for games of this system, neogeo.ini with “bios unibios30” working

In retroarch\save\mame: cfg, diff, nvram folders working.

If you launch a game that has some tweaks done by an ini file, changing some settings in Mame GUI will be written in a cfg file that will take the priority over that ini next time.

Seems everything is in line with Mame stand-alone now. Great work. :slight_smile:

Yeah was so involved with MESS that fogot to mention that