Pagina 1 di 1
MameUIFX-Darkmame e sync audio
Inviato: 25/10/2010, 12:36
da PaTrYcK
Mame e' arrivato alla vers 0.140, da quello che leggo nel forum di mameuifx Mamesick sta chiudendo il progetto:
"MAMEXT developer quit the project today.
MAMEPlus! is still active but not officially, you can find an updated 0.139u4 at MAMEWorld Forums.
MAMEFX project is going to be closed. I have plans to release a 0.140 but it's very difficult and I'm not sure."
Il darkmame si appoggiava a questa versione del mame, adesso che fine fara'?
Inoltre MameUIFX implementava una opzione assente sul Mame ufficiale, ovvero la possibilita' di sincronizzare l'audio con il video... tutti nuovamente con audio sfalsato con il v-sync attivato?
Re: MameUIFX-Darkmame e sync audio
Inviato: 25/10/2010, 12:47
da antoniomauro
Sto compilando ora ora una 140 senza schermate e con il sync audio.
Appena conclude il processo (lunghissimo) carico il file per un aiuto sul test (non ho le casse nel pc in ufficio)
Re: MameUIFX-Darkmame e sync audio
Inviato: 25/10/2010, 22:33
da PaTrYcK
Ottimo Antonio, nn sapevo che ti dilettassi anche a programmare, bravo!
Allora attendiamo con ansia

Re: MameUIFX-Darkmame e sync audio
Inviato: 26/10/2010, 0:01
da Kernel
Grande Antonio!!
Re: MameUIFX-Darkmame e sync audio
Inviato: 27/10/2010, 10:06
da antoniomauro
In teoria dovrei fare l'avvocato ma preferisco lavorare in una società di informatica!
Scusate il ritardo ma sono tornato oggi da una trasferta e non ho avuto modo di finire la compilazione (che ha dato qualche errorino).
Entro la mattina posto il risultato.
Re: MameUIFX-Darkmame e sync audio
Inviato: 27/10/2010, 12:43
da antoniomauro
Ecco il link per scaricare l'eseguibile
http://www.megaupload.com/?d=LAU8CSE4
La modifica per sincronizzare l'audio l'ho ripresa da un diff del cabMame 137 che ho riadattato al nuovo sorgente 140.
Non ho modo di verificare se fa il suo dovere al 100% ma è talmente semplice che dovrebbe funzionare....fatemi sapere!
Re: MameUIFX-Darkmame e sync audio
Inviato: 27/10/2010, 12:50
da PaTrYcK
Beh quindi va provato....
Grazie Antonio, sei stato nominato x sviluppare le nuove relase mameuifx

Re: MameUIFX-Darkmame e sync audio
Inviato: 27/10/2010, 14:22
da antoniomauro
ecco il diff delle (poche) modifiche:
Codice: Seleziona tutto
diff -crB C:\mingw\mame_original/src/emu/machine.h C:\mingw\mame/src/emu/machine.h
*** C:\mingw\mame_original/src/emu/machine.h Thu Oct 14 00:04:18 2010
--- C:\mingw\mame/src/emu/machine.h Wed Oct 27 09:43:57 2010
***************
*** 394,399 ****
--- 394,400 ----
void CLIB_DECL vlogerror(const char *format, va_list args);
UINT32 rand();
const char *describe_context();
+ double speed_percent; // most recent speed percentage
// internals
resource_pool m_respool; // pool of resources for this machine
diff -crB C:\mingw\mame_original/src/emu/romload.c C:\mingw\mame/src/emu/romload.c
*** C:\mingw\mame_original/src/emu/romload.c Thu Sep 2 22:21:48 2010
--- C:\mingw\mame/src/emu/romload.c Mon Oct 25 12:19:26 2010
***************
*** 515,520 ****
--- 515,522 ----
static void display_loading_rom_message(rom_load_data *romdata, const char *name)
{
+ return;
+
char buffer[200];
// 2010-04, FP - FIXME: in MESS, load_software_part_region sometimes calls this with romstotalsize = 0!
diff -crB C:\mingw\mame_original/src/emu/ui.c C:\mingw\mame/src/emu/ui.c
*** C:\mingw\mame_original/src/emu/ui.c Tue Oct 12 23:20:12 2010
--- C:\mingw\mame/src/emu/ui.c Mon Oct 25 12:18:01 2010
***************
*** 286,292 ****
or if we are debugging */
if (!first_time || (str > 0 && str < 60*5) || machine->gamedrv == &GAME_NAME(empty) || (machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
show_gameinfo = show_warnings = show_disclaimer = FALSE;
!
/* initialize the on-screen display system */
slider_list = slider_current = slider_init(machine);
--- 286,294 ----
or if we are debugging */
if (!first_time || (str > 0 && str < 60*5) || machine->gamedrv == &GAME_NAME(empty) || (machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
show_gameinfo = show_warnings = show_disclaimer = FALSE;
!
! show_gameinfo = show_warnings = show_disclaimer = FALSE;
!
/* initialize the on-screen display system */
slider_list = slider_current = slider_init(machine);
diff -crB C:\mingw\mame_original/src/emu/video.c C:\mingw\mame/src/emu/video.c
*** C:\mingw\mame_original/src/emu/video.c Wed Oct 20 23:01:18 2010
--- C:\mingw\mame/src/emu/video.c Wed Oct 27 09:39:48 2010
***************
*** 1053,1058 ****
--- 1053,1060 ----
/* convert from ticks to attoseconds */
global.speed_percent = (double)delta_emutime * (double)tps / ((double)delta_realtime * (double)ATTOSECONDS_PER_SECOND);
+ machine->speed_percent = global.speed_percent;
+
/* remember the last times */
global.speed_last_realtime = realtime;
global.speed_last_emutime = emutime;
diff -crB C:\mingw\mame_original/src/osd/windows/sound.c C:\mingw\mame/src/osd/windows/sound.c
*** C:\mingw\mame_original/src/osd/windows/sound.c Tue Jun 29 20:46:22 2010
--- C:\mingw\mame/src/osd/windows/sound.c Wed Oct 27 10:29:02 2010
***************
*** 203,208 ****
--- 203,214 ----
if (stream_buffer == NULL)
return;
+ /* if we are active, update the sampling frequency */
+ if (machine->speed_percent > 0.0f)
+ {
+ IDirectSoundBuffer_SetFrequency(stream_buffer, machine->sample_rate * machine->speed_percent);
+ }
+
// determine the current play position
result = IDirectSoundBuffer_GetCurrentPosition(stream_buffer, &play_position, &write_position);
if (result == DS_OK)
***************
*** 392,398 ****
// create a buffer desc for the stream buffer
memset(&stream_desc, 0, sizeof(stream_desc));
stream_desc.dwSize = sizeof(stream_desc);
! stream_desc.dwFlags = DSBCAPS_CTRLVOLUME | DSBCAPS_GLOBALFOCUS | DSBCAPS_GETCURRENTPOSITION2;
stream_desc.dwBufferBytes = stream_buffer_size;
stream_desc.lpwfxFormat = &stream_format;
--- 398,405 ----
// create a buffer desc for the stream buffer
memset(&stream_desc, 0, sizeof(stream_desc));
stream_desc.dwSize = sizeof(stream_desc);
! stream_desc.dwFlags = DSBCAPS_CTRLVOLUME | DSBCAPS_GLOBALFOCUS | DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_CTRLFREQUENCY;
! //stream_desc.dwFlags = DSBCAPS_CTRLVOLUME | DSBCAPS_GLOBALFOCUS | DSBCAPS_GETCURRENTPOSITION2;
stream_desc.dwBufferBytes = stream_buffer_size;
stream_desc.lpwfxFormat = &stream_format;
Re: MameUIFX-Darkmame e sync audio
Inviato: 27/10/2010, 15:20
da Kernel
Grazie Antonio, grande lavoro!
Visto che inaspettatamente è uscita la nuova versione del mameuifx, quando hai tempo e voglia perchè non provi modificare questo:
viewtopic.php?f=20&t=2821&p=59730
In pratica otterremo il "nostro" DarkMame.
Re: MameUIFX-Darkmame e sync audio
Inviato: 27/10/2010, 15:48
da antoniomauro
Che caratteristiche ha darkmame?
Sono dell'idea che queste build derivate dovrebbero essere il meno possibile invasive per evitare instabilità e poter seguire la rapida evoluzione del sorgente originale.
Re: MameUIFX-Darkmame e sync audio
Inviato: 27/10/2010, 16:18
da antoniomauro
Ho fatto un diff delle modifiche apportate dal mameUIFx ed,oltre ad autofire,hiscore, ecc..., ho notato tanti interventi su diversi driver....
Di cosa si tratta?
Se sono migliorire di emulazione perchè non sono incluse nella build ufficiale?
Re: MameUIFX-Darkmame e sync audio
Inviato: 27/10/2010, 16:20
da Kernel
Il darkmame è il mameuifx senza warning e senza schermata di caricamento EDIT: cambiano anche le icone e lo splash screen, ma questo passa in secondo piano...
Il mameuifx include diverse modifiche per rendere migliore la giocabilità (anche con degli hack). Il progetto mame guarda solo alla fedeltà emulativa, questo credo sia il motivo della non implementazione nella build ufficiale.
Qui puoi trovare la storia dei miglioramenti inclusi:
http://mame32fx.altervista.org/archive.htm
Re: MameUIFX-Darkmame e sync audio
Inviato: 27/10/2010, 16:48
da antoniomauro
Capisco.
Come prossima feature aggiungerò il supporto hiscore.dat
Re: MameUIFX-Darkmame e sync audio
Inviato: 29/10/2010, 9:49
da antoniomauro
Ho ricompilato il sorgente ottenendo (spero) quello che chiedi
http://www.megaupload.com/?d=F6WYG185
Tempo permettendo continuerò a seguire le altre release del mame cercando di tenere vive le funzioni necessarie ai cabinati senza dover dipendere da altre build derivate.
Re: MameUIFX-Darkmame e sync audio
Inviato: 02/11/2010, 18:15
da PaTrYcK
Ho appena trovato un altra vers mame dove e' presente l'opzione audio sync to video, Mame Plus! Ext
http://www.emulab.it/page_emus.php
Re: MameUIFX-Darkmame e sync audio
Inviato: 03/11/2010, 8:53
da Kernel
Bene, di questi tempi una in più non fa male
