Devi creare il file mame.ini.
Apri Prompt dei comandi, ti posizioni nella cartella dove risiede l'exe di Mame e poi metti il comando mame -cc (mame64 -cc, se usi la versione a 64 bit).
Apri il file ini e modifichi quello che ti serve. Hai a disposizione tutti i controlli che trovi in MameUI.
Questo è il contenuto del file, con le funzioni di default:
<UNADORNED0>
<UNADORNED1>
#
# CORE CONFIGURATION OPTIONS
#
readconfig 1
writeconfig 0
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
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
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 0.65
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 0
joystick 1
lightgun 0
multikeyboard 0
multimouse 0
steadykey 0
offscreen_reload 0
joystick_map auto
joystick_deadzone 0.3
joystick_saturation 0.85
natural 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
#
bios
cheat 0
skip_gameinfo 0
uifont default
ramsize
confirm_quit 0
#
# WINDOWS DEBUGGING OPTIONS
#
oslog 0
watchdog 0
debugger_font "Lucida Console"
debugger_font_size 9
#
# WINDOWS PERFORMANCE OPTIONS
#
priority 0
multithreading 0
numprocessors auto
profile 0
bench 0
#
# WINDOWS VIDEO OPTIONS
#
video d3d
numscreens 1
window 0
maximize 1
keepaspect 1
prescale 1
waitvsync 0
syncrefresh 0
menu 0
#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch 1
#
# DIRECT3D-SPECIFIC OPTIONS
#
d3dversion 9
filter 1
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable 0
hlslini %g
hlslpath hlsl
hlsl_prescale_x 0
hlsl_prescale_y 0
hlsl_preset -1
hlsl_write
hlsl_snap_width 2048
hlsl_snap_height 1536
shadow_mask_alpha 0.0
shadow_mask_texture aperture.png
shadow_mask_x_count 320
shadow_mask_y_count 240
shadow_mask_usize 0.09375
shadow_mask_vsize 0.109375
curvature 0.0
pincushion 0.0
scanline_alpha 0.0
scanline_size 1.0
scanline_height 0.7
scanline_bright_scale 1.0
scanline_bright_offset 0.0
scanline_jitter 0.0
defocus 0.0,0.0
converge_x 0.0,0.0,0.0
converge_y 0.0,0.0,0.0
radial_converge_x 0.0,0.0,0.0
radial_converge_y 0.0,0.0,0.0
red_ratio 1.0,0.0,0.0
grn_ratio 0.0,1.0,0.0
blu_ratio 0.0,0.0,1.0
saturation 1.0
offset 0.0,0.0,0.0
scale 1.0,1.0,1.0
power 1.0,1.0,1.0
floor 0.0,0.0,0.0
phosphor_life 0.0,0.0,0.0
yiq_enable 0
yiq_cc 3.59754545
yiq_a 0.5
yiq_b 0.5
yiq_o 0.0
yiq_p 1.0
yiq_n 1.0
yiq_y 6.0
yiq_i 1.2
yiq_q 0.6
yiq_scan_time 52.6
yiq_phase_count 2
#
# PER-WINDOW VIDEO OPTIONS
#
screen auto
aspect auto
resolution auto
view auto
screen0 auto
aspect0 auto
resolution0 auto
view0 auto
screen1 auto
aspect1 auto
resolution1 auto
view1 auto
screen2 auto
aspect2 auto
resolution2 auto
view2 auto
screen3 auto
aspect3 auto
resolution3 auto
view3 auto
#
# FULL SCREEN OPTIONS
#
triplebuffer 0
switchres 0
full_screen_brightness 1.0
full_screen_contrast 1.0
full_screen_gamma 1.0
#
# WINDOWS SOUND OPTIONS
#
audio_latency 2
#
# INPUT DEVICE OPTIONS
#
dual_lightgun 0
Ho evidenziato in grassetto sottolineato le impostazioni su cui normalmente intervengo. Ho tralasciato quelle relative all'HLSL (DIRECT3D POST-PROCESSING OPTIONS) perché complicano un po' la situazione, ma se siete interessati ditemi pure.
#
# CORE SCREEN OPTIONS
#
brightness 1.0
contrast 1.0
gamma 1.0
pause_brightness 0.65
effect none
Sostituite none con il nome del file PNG contenuto nella cartella artwork per ottenere le scanlines. Se utilizzate la versione precompilata il file dovrebbe già esserci. Potete anche modificarlo (per rendere le scanlines più o meno "invasive", basta il semplice Paint) o crearne di personalizzati.
#
# CORE MISC OPTIONS
#
bios
cheat 0
skip_gameinfo 0
uifont default
ramsize
confirm_quit 0
Mettete 1 per saltare la tabella informativa dei giochi.
#
# WINDOWS VIDEO OPTIONS
#
video d3d
numscreens 1
window 0
maximize 1
keepaspect 1
prescale 1
waitvsync 0
syncrefresh 0
menu 0
Mettendo 1 su window l'emulatore partirà in finestra (comunque massimizzata).
Prescale serve per rendere più nitida l'immagine: lasciando 1 il gioco "uscirà" da Mame alla sua risoluzione nativa. Aumentando il valore aumenta la risoluzione e, quindi, anche la nitidezza. Purtroppo in molti giochi si notano poi artefatti. Io lascerei 1.
Waitvsync attiva il V-Sync, per evitare il tearing. Di default è disattivato e normalmente serve solo se giocate in finestra. A schermo pieno è sufficiente attivare triplebuffer (ne parlo dopo).
#
# DIRECT3D-SPECIFIC OPTIONS
#
d3dversion 9
filter 1
Filter attiva il filtro bilineare ed è attivo di default. Sul mio PC la resa è buona, ma l'immagine è ovviamente blurrata.
Per renderla più nitida potete alzare il valore prescale (vedi quote precedente) o mettere 0 qua: in entrambi i casi avrete artefatti (random nel caso di prescale, "sfrigolio" di pixel mettendo 0). Se proprio non sopportate il filtro bilineare io lascerei comunque 1 e interverrei su prescale (mettendo 2 o 3, non di più).
#
# FULL SCREEN OPTIONS
#
triplebuffer 0
switchres 0
full_screen_brightness 1.0
full_screen_contrast 1.0
full_screen_gamma 1.0
Con tripplebuffer eliminate il tearing. Funziona solo a schermo pieno. Se notate comunque tearing attivate anche waitvsync.
ho scaricato il Mameui32 nella versione 0.141
Meglio usare Mame liscio con qualche frontend (se proprio non si può fare a meno di un'interfaccia grafica), vista la mole di bug fix e/o giochi aggiunti che c'è a ogni rilascio. C'è pure quello dell'attuale mantenitore di MameUI, John IV.
Ovviamente le impostazioni le devi correggere a mano, nel file mame.ini (o in quelli giocox.ini, se vi servono impostazioni particolari).