GroovyMame, un aiuto da quelli che lo usano
Inviato: 25/10/2012, 19:08
Ciao ragazzi
mi sto dilettando col mio nuovo cab, di cui poi vi posterò foto, e dopo aver provato qualche scheda jamma prestata da amici e qualche mvs comprata, mi sto dilettando nel tentare l'emulazione di alcune pcb, alla ricerca della perfetta (o quasi fedeltà) con l'originale. Studiando e documentandomi ho compreso che una delle scelte migliori poteva essere utilizzare una Ati supportata dai driver di Calamity (gloria a lui) in accoppiata col Groovymame. Quindi approfittando di un mio vecchio pc semi-dismesso (Athlon 64 3400+ con 1 Gb di Ram) mi sono preso sulla baia una Ati 9250 Agp 128 Mb investendo ben 7.5 euro
Appena ricevuto il tutto ho cominciato subito a smanettare, ottenendo risultati alterni.
Purtroppo mi pare di capire che non ci sia un tutorial completo sull'argomento, quindi mi sono dovuto arrangiare leggendo un po' qui e un po' sul forum di Arcade Controls, ma ci sono alcune cose che mi sfuggono.
Intanto partiamo col dire che utilizzo Win Xp 32 bit. Ho scaricato una versione del Groovymame già compilata dal repository del progetto, esattamente la GroovyMAME 0.146u4 Windows 32bit, che mi par di capire dovrebbe essere la più recente per Win32. Ho installato i driver modificati di Calamity. Ho prima installato sul pc il mameui per farmi creare dal suo setup la struttura di cartelle corretta, poi ho cancellato il suo mame.ini e ne ho fatto generare uno nuovo da groovymame usando l'opzione -cc da riga di comando. Prima di lanciare il VMmaker ho configurato il suo ini, mettendo:
(ignoro a cosa serva l'ultima opzione). Lanciando Vmmaker mi genera il file mame.xml però non mi generava nessun ini per ogni gioco nella cartella ini indicata nel percorso. Leggendo in giro mi pare di capire che sia un baco della 0.146, allora ho scaricato la 0.145 e ho generato gli ini con quella. Così facendo è andato tutto liscio. Riavviando mi ritrovavo nel tray, dal selettore di space invader per intenderci, una serie di risoluzioni create penso dall'xml, analizzando quelle dei vari giochi.
Poi mi sono dedicato alla configurazione del monitor. Il mio monitor è un Intervideo 28 pollici bi-frequenza. Ho scaricato il manuale in pdf, ma non ci sono scritti dei dati specifici sulle frequenze. Allora leggendo in giro che dovrebbe essere praticamente uguale all'Hantarex MTC 9110 e al Polostar 25 ho impostato questi valori:
Secondo voi dovrebbero essere ok?
A questo punto, guardando sempre il file Vmmaker.ini mi sono interrogato sull'opzione ModeTableMethod. Settandola su 0 dovrebbero venir generate delle modeline con risoluzione giusta per ogni gioco (solo quelli presenti o tutti?) e relativo refresh giusto. Settandola su 1 invece dovrebbe tenere conto solo della risoluzione, ignorando il refresh verticale. Ma quale sarebbe il vantaggio di questa seconda opzione? Poi come fa il Groovymame a far partire il gioco con la giusta vfreq?
Infine il discorso del mame.ini. Anche qui ho letto molto e ho visto che ognuno consigliava opzioni diverse. Io ho fatto diverse prove (il gioco di test era Euro League) e pare che sia riuscito ad ottenere una buona fluidità dello scrolling, l'audio syncato giusto e nessun problema sulla velocità di emulazione usando questi parametri:
Senza impostare il throttle ad 1 il gioco andava ad una velocità assurda, mettendolo sembra andare bene.
Queste le impostazioni sul monitor:
Questo il resto del mame.ini:
Come dicevo il risultato sembra buono però non so, c'è ancora qualcosa che non mi convince. A volte mi sembra che video e audio vadano fuori di sync. Inoltre ho cercato di attivare il discorso del salvataggio degli hiscore, che Groovymame dovrebbe supportare. Ho quindi impostato la cartella hi, ho scaricato l'ultimo file hiscore.dat, l'ho inserito nella cartella dell'eseguibile del mame (e anche nella cartella hi, vista che c'è chi dice di metterlo lì) e ho attivato le patch così:
Ho poi fatto un record con Euroleague, sono uscito dall'emu e controllando non c'era traccia di nessun file, ne nella cartella hi ne in quella nvram. Nè il file hiscore.dat era stato modificato. Infatti ricaricando il gioco nessuna traccia del mio record.
Cosa sbaglio?
Un'ultima cosa. Esistono vantaggi sostanziali ad usare Groovymame sotto Linux anzichè sotto Windows? Se volessi avere una versione più recente di Groovymame per Win32 me lo devo compilare da solo dai sorgenti? Come posso procedere?
Grazie 1000 a tutti per le eventuali risposte e scusate se sono stato un po' troppo prolisso
Ma è già da qualche giorno che mi ci picchio e reperire tutti i pezzi del puzzle non è proprio semplice 


Purtroppo mi pare di capire che non ci sia un tutorial completo sull'argomento, quindi mi sono dovuto arrangiare leggendo un po' qui e un po' sul forum di Arcade Controls, ma ci sono alcune cose che mi sfuggono.
Intanto partiamo col dire che utilizzo Win Xp 32 bit. Ho scaricato una versione del Groovymame già compilata dal repository del progetto, esattamente la GroovyMAME 0.146u4 Windows 32bit, che mi par di capire dovrebbe essere la più recente per Win32. Ho installato i driver modificati di Calamity. Ho prima installato sul pc il mameui per farmi creare dal suo setup la struttura di cartelle corretta, poi ho cancellato il suo mame.ini e ne ho fatto generare uno nuovo da groovymame usando l'opzione -cc da riga di comando. Prima di lanciare il VMmaker ho configurato il suo ini, mettendo:
Codice: Seleziona tutto
ListFromXML = 1, GenerateXML = 1, GenerateInis = 1, SDLMame = 0
Poi mi sono dedicato alla configurazione del monitor. Il mio monitor è un Intervideo 28 pollici bi-frequenza. Ho scaricato il manuale in pdf, ma non ci sono scritti dei dati specifici sulle frequenze. Allora leggendo in giro che dovrebbe essere praticamente uguale all'Hantarex MTC 9110 e al Polostar 25 ho impostato questi valori:
Codice: Seleziona tutto
monitor_specs_0 = "15625-16670, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 288, 448"
Secondo voi dovrebbero essere ok?
A questo punto, guardando sempre il file Vmmaker.ini mi sono interrogato sull'opzione ModeTableMethod. Settandola su 0 dovrebbero venir generate delle modeline con risoluzione giusta per ogni gioco (solo quelli presenti o tutti?) e relativo refresh giusto. Settandola su 1 invece dovrebbe tenere conto solo della risoluzione, ignorando il refresh verticale. Ma quale sarebbe il vantaggio di questa seconda opzione? Poi come fa il Groovymame a far partire il gioco con la giusta vfreq?
Infine il discorso del mame.ini. Anche qui ho letto molto e ho visto che ognuno consigliava opzioni diverse. Io ho fatto diverse prove (il gioco di test era Euro League) e pare che sia riuscito ad ottenere una buona fluidità dello scrolling, l'audio syncato giusto e nessun problema sulla velocità di emulazione usando questi parametri:
Codice: Seleziona tutto
#
# CORE PERFORMANCE OPTIONS
#
autoframeskip 0
frameskip 0
seconds_to_run 0
throttle 1
syncrefresh 1
sleep 1
speed 1.0
refreshspeed 0
Queste le impostazioni sul monitor:
Codice: Seleziona tutto
#
# CORE SWITCHRES OPTIONS
#
modeline 1
monitor custom
monitor_connector auto
monitor_orientation horizontal
monitor_aspect 4:3
monitor_debug 0
monitor_doublescan 1
monitor_dotclock 0
monitor_ymin 0
soundsync 1
cleanstretch 1
changeres 1
redraw 0
monitor_specs0 15625-16670, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 288, 448
monitor_specs1 auto
monitor_specs2 auto
monitor_specs3 auto
monitor_specs4 auto
monitor_specs5 auto
monitor_specs6 auto
monitor_specs7 auto
magic_resolution auto
powerstrip 0
Codice: Seleziona tutto
#
# WINDOWS PERFORMANCE OPTIONS
#
priority 0
multithreading 1
numprocessors auto
profile 0
bench 0
#
# WINDOWS VIDEO OPTIONS
#
video ddraw
numscreens 1
window 0
maximize 1
keepaspect 0
prescale 1
waitvsync 1
menu 0
#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch 0
#
# DIRECT3D-SPECIFIC OPTIONS
#
d3dversion 9
filter 0
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable 0
hlslpath hlsl
hlsl_ini_read 0
hlsl_ini_write 0
hlslini %g
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 1
full_screen_brightness 1.0
full_screen_contrast 1.0
full_screen_gamma 1.0
#
# WINDOWS SOUND OPTIONS
#
audio_latency 2
#
# INPUT DEVICE OPTIONS
#
hide_cursor 1
dual_lightgun 0
Codice: Seleziona tutto
#
# CORE MKChamp OPTIONS
#
disable_hiscore_patch 0
disable_nagscreen_patch 0
disable_loading_patch 0
Cosa sbaglio?

Un'ultima cosa. Esistono vantaggi sostanziali ad usare Groovymame sotto Linux anzichè sotto Windows? Se volessi avere una versione più recente di Groovymame per Win32 me lo devo compilare da solo dai sorgenti? Come posso procedere?
Grazie 1000 a tutti per le eventuali risposte e scusate se sono stato un po' troppo prolisso

