Pagina 11 di 13

Re: Eseguibili MAME/MESS con patch varie

Inviato: 08/12/2020, 10:44
da motoschifo
Considera che il Mame è molto complesso e, col tempo, le cose si complicano ulteriormente.
Per quel poco che ho visto del Mame (come sorgente) mi sono limitato a fare piccoli interventi e se non avessero incluso le mie modifiche (che probabilmente servono solo a me), quasi certamente avrei smesso di integrarle negli anni.
Infatti inizialmente è stato divertente farlo, poi ogni mese mi accorgevo di piccole/grosse variazioni e ci sono stati almeno un paio di casi in cui ho dovuto proprio ripensare alla logica di scrittura dei miei file.
Faccio riferimento al periodo 0.160-0.180, molto limitato nel tempo.
Prima e dopo le cose sono completamente diverse, o talmente diverse da rendere l'operazione più lunga del dovuto.

Inoltre vai incontro ad altri problemi: alcune hack non sono compatibili tra di loro, magari perchè nessuno immaginava di dover isolare la modifica alla sola rom.
Avere un unico eseguibile è comodo, ok, ma va contro quello che è la normale prassi nei computer: più componenti.

Mi rendo conto che il limite si sposta sul front-end, ma perchè non avere più exe e più cartelle?
Tanti front-end permettono di scegliere l'emulatore più adatto, alcuni sono anche multi-versione o multi-architettura, ed in questo modo si avrebbe la massima compatibilità.

Non ho nulla di particolare in mente, è solo un'idea.
Per esempio con un exe creato ad hoc posso passare da un mame all'altro, o (se sono bravo) interfacciare le chiamate classiche (tipo il parametro -listxml) generando un output compatibile. A quel punto dovrò creare l'xml corretto e, all'atto pratico, per il front-end sarebbe tutto trasparente.
Con un linguaggio C++ o C# si scrive un programma che intercetta alcuni parametri e, in base alla rom specificata, lancia a sua volta l'emulatore corretto.
Il come farlo dipende molto dalla capacità di programmazione, diciamo che idealmente si potrebbero mettere tutti gli emulatori in sottocartelle, ispezionare i gamelist.xml generati e crearne uno unico completo. A quel punto, quando chiedo "mslug" viene lanciato l'emulatore che contiene quella rom, se lancio "mslugxyz" viene lanciato invece l'altro.
Il merge di questo xml unico potrebbe essere parametrizzato per includere/escludere tutta una serie di cose e quindi avere un output ripulito o personalizzato.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 08/12/2020, 18:14
da Gothrek
Moto è sempre sul pezzo, tutto sacrosanto quanto esposto.
tutti i frontend oggi permettono di scegliere gli emulatori più idonei o più compatibili con la singola rom.

Questa dinamicità permette la miglior configurazione possibile e dall'altro lato la maggiore difficoltà nel configurarlo.

L'emulazione è una passione e come tutte le passioni necessitano di lavoro, di messa appunto e di dedizione.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 09/12/2020, 13:30
da Mr Stiller
motoschifo quando avrai un pochino di tempo libero segui questo post >>> viewtopic.php?f=20&t=34565 <<<
Ti invito a gustarti questa mia bellissima collezione, non si tratta dell'HBMAME del sito ufficiale ma del mio HBMAME dove rivendico i miei sacrifici
nella correzione di ips e hack, non solo, tutte le le mie hack personali dove in HBMAME ufficiale hanno tolto il mio nome MasterStiller
Le roms che hanno il prefisso ms_ in parte sono le mie hack personali ed in parte delle hack non mie che correggo e aggiorno, non mi importa che alcune di queste vanno a duplicare.
Adesso HBMAME è una grande discarica di spazzatura, mi sono creato uno spazietto tutto mio dove raccolgo i miei lavori e alcune hack preferite dove correggo il nominativo.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 09/12/2020, 13:54
da Tox Nox Fox
Ciao MasterStiller, che significa che sono hack personali ?

Re: Eseguibili MAME/MESS con patch varie

Inviato: 09/12/2020, 14:38
da Mr Stiller
Tox Nox Fox ha scritto: 09/12/2020, 13:54 Ciao MasterStiller, che significa che sono hack personali ?
Ci sono le mie hack che ho sviluppato personalmente, alcune sono delle mie correzioni
e delle mie rivisitazioni di varie patch esistenti, altre sono delle mie collaborazioni con vari hacker.
Troverai queste hack nella barra di ricerca, scrivendo il prefisso ms_ usciranno 295 giochi.
Ne ho realizzate più di 400 ma non ricordandole alcune, quelle più importanti le ho recuperate.
Escludendo alcune che ho realizzato per Winkawaks Plus! v1.60 (una versione hackerata) e quelle
non funzionanti nel codice sorgente di HBMAME, ho recuperato la metà ed ho aggiunto nuove hack.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 09/12/2020, 14:51
da Tox Nox Fox
Ok. Grazie.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 25/12/2020, 19:40
da Mr Stiller
motoschifo mi serve il tuo aiuto, segui questo post: viewtopic.php?f=20&t=34637

Re: Eseguibili MAME/MESS con patch varie

Inviato: 01/01/2021, 14:27
da motoschifo
Sto caricando la versione 0.227 uscita ieri

Re: Eseguibili MAME/MESS con patch varie

Inviato: 30/01/2021, 18:41
da motoschifo
Disponibile la versione 0.228. Stavolta nella compilazione a 32 bit il sistema ha richiesto più di 8GB di memoria... secondo me si sta un po' esagerando <-w00t-anim->

Re: Eseguibili MAME/MESS con patch varie

Inviato: 08/02/2021, 15:38
da Mr Stiller
motoschifo ha scritto: 30/01/2021, 18:41 Stavolta nella compilazione a 32 bit il sistema ha richiesto più di 8GB di memoria... secondo me si sta un po' esagerando <-w00t-anim->
In che senso??? Comunque il MAME di adesso è ancora più appesantito, l'exe supera i 400 MB ed è un peso accessivo.
E pensare che le vecchie versioni senza MESS pesavano meno di 100 MB, 40-50-60-70-80 MB, partivano a razzo.
Io con MCAS compilo sempre a 4 GB di RAM, ne ho 16 ma non ho problemi a sfruttarne 4.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 08/02/2021, 20:27
da motoschifo
Per compilare questi Mame utilizzo delle macchine virtuali, e normalmente avevo assegnato loro 4GB di memoria. Nel tempo ho dovuto aumentare fino ad 8 e per questo a 32 bit non sono bastati e il compilatore (Windows) è andato in crash.
Quindi ho aumentato la memoria ed è andato tutto bene.
Forse dipende anche dalla compilazione multiprocessore che richiede più di quella normale, ma che in compenso è diverse volte più rapida.
Le due macchine virtuali che compilato Linux invece sono ferme a 4GB e non hanno avuto problemi.
Nessun problema per chi invece al Mame ci gioca.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 27/02/2021, 8:03
da motoschifo
Version 0.229 online

Re: Eseguibili MAME/MESS con patch varie

Inviato: 12/04/2021, 21:45
da motoschifo
Sto caricando la versione 0.230.
Non sono riuscito a compilare la versione per Linux a 64 bit, ho avuto diversi errori anche provando su sistemi più recenti ma ho rinunciato per mancanza di tempo.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 15/04/2021, 18:25
da Mr Stiller

Osserva questo video, ho rilasciato le mie nuovi compilazioni
alla v0.230 di: MAME FIX, MAMEUI FIX, ARCADE FIX e ARCADE FEM.
In confronto agli exe dei siti ufficiali c'è una maggiore rapidità nei caricamenti,
l'unica cosa che manca è il NO NAG completo scritto correttamente.

Nelle tue compilazioni ti concentri sul filtro CRT come il GroovyMame ma lo stesso filtro
lo abbiamo già nei codici sorgenti, non so se il tuo è differente da quello che ho nelle mie build.
Nei miei archivi rilascio sempre la cartella aggiornata del BGFX e hlsl che hanno tutti i filtri, il CRT funziona benissimo.
L'unica cosa che non riesco a mettere è il NO NAG, se mi aiuti collaboriamo nelle prossime versioni.

Ho deciso di rilasciare gli exe ogni 2 numerazioni, la prossima sarà la v0.232
Non so se il no nag compilato sul file del codice sorgente della v0.230
può funzionare sul codice sorgente della v0.232, se me lo fai come test,
per vedere cosa hai cambiato, come hai modificato i caratteri.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 15/04/2021, 18:25
da Mr Stiller
https://github.com/MasterStiller
Questo è il mio spazio dove raccolgo i codici sorgenti,
ci sono quelli della versione stabile di MAMEUI e ARCADE.
Se mi passi i file che servono per scrivere correttamente il NO NAG,
ovviamente già scritti da te, mi aiuti a inserirli nelle mie compilazioni.

Re: Eseguibili MAME/MESS con patch varie

Inviato: 15/04/2021, 22:02
da motoschifo
Il file sorgente con il diff lo trovi in ogni zip che rilascio, sono davvero poche righe di codice quindi non avrai problemi ad applicarli.
Spesso il fix è identico al cambio di versione, ogni tanto devo aggiornarlo ma si tratta di spostare qualche riga.

Te lo allego qui per comodità, come detto lo troverai disponibile in ogni zip che rilascio.

La parte interessante è questa, come vedi basta aggiungere alcuni "break" o "return" per uscire dalle funzioni e commentare altre righe mettendo davanti la doppia barra //:

Codice: Seleziona tutto

diff -ruN mame.orig/src/emu/romload.cpp mame/src/emu/romload.cpp
--- mame.orig/src/emu/romload.cpp	2019-11-27 03:54:01.000000000 +0100
+++ mame/src/emu/romload.cpp	2019-12-07 17:10:19.847064227 +0100
@@ -552,5 +552,6 @@
 
 void rom_load_manager::display_loading_rom_message(const char *name, bool from_list)
 {
+	return;	// NONAG PATCH
 	std::string buffer;
 	if (name)

diff -ruN mame.orig/src/frontend/mame/ui/ui.cpp mame/src/frontend/mame/ui/ui.cpp
--- mame.orig/src/frontend/mame/ui/ui.cpp	2019-11-27 03:54:02.000000000 +0100
+++ mame/src/frontend/mame/ui/ui.cpp	2019-12-07 17:10:19.851064118 +0100
@@ -449,6 +449,7 @@
 		switch (state)
 		{
 		case 0:
+			break;	// NONAG PATCH
 			if (show_gameinfo)
 				warning_text = machine_info().game_info_string();
 			if (!warning_text.empty())

@@ -459,6 +460,7 @@
 			break;
 
 		case 1:
+			break;	// NONAG PATCH
 			warning_text = machine_info().warnings_string();
 			m_has_warnings = !warning_text.empty();
 			if (show_warnings)

@@ -352,6 +354,7 @@
 			break;
 
 		case 2:
+			break;	// NONAG PATCH
 			std::vector<std::reference_wrapper<const std::string>> mandatory_images = mame_machine_manager::instance()->missing_mandatory_images();
 			if (!mandatory_images.empty() && show_mandatory_fileman)
 			{

diff -ruN mame.orig/src/mame/machine/cps2crypt.cpp mame/src/mame/machine/cps2crypt.cpp
--- mame.orig/src/mame/machine/cps2crypt.cpp	2019-11-27 03:54:37.000000000 +0100
+++ mame/src/mame/machine/cps2crypt.cpp	2019-12-07 17:10:19.855064010 +0100
@@ -670,9 +670,10 @@
 
 		if ((i & 0xff) == 0)
 		{
-			char loadingMessage[256]; // for displaying with UI
-			sprintf(loadingMessage, "Decrypting %d%%", i*100/0x10000);
-			machine.ui().set_startup_text(loadingMessage,false);
+			// NONAG PATCH
+			//char loadingMessage[256]; // for displaying with UI
+			//sprintf(loadingMessage, "Decrypting %d%%", i*100/0x10000);
+			//machine.ui().set_startup_text(loadingMessage,false);
 		}

Re: Eseguibili MAME/MESS con patch varie

Inviato: 16/04/2021, 0:00
da Mr Stiller
Non ho capito che file devo editare???

mame/src/emu/romload.cpp è questo?

Re: Eseguibili MAME/MESS con patch varie

Inviato: 18/04/2021, 8:27
da pucci
Mr Stiller ha scritto:Non ho capito che file devo editare???

mame/src/emu/romload.cpp è questo?
Guardando il codice della patch i file da modificare sono 3:
romload.cpp
ui.cpp
cps2crypt.cpp

Re: Eseguibili MAME/MESS con patch varie

Inviato: 18/04/2021, 9:15
da motoschifo
Esatto, sono 3 file.
Dove vedi il "+" a inizio riga sono parti che ho aggiunto io, dove vedi il "-" vuol dire che ho rimosso.
La doppia chiocciola "@@" ti indica i numeri di riga, negativi per il primo file (indicato poco prima da "---" e positivi per il file "+++".

Se prendiamo il primo file per esempio, in pratica in src/emu/romload.cpp ho aggiunto "return; // NONAG PATCH" alla riga 552.

E' un formato molto diffuso per applicare modifiche al codice sorgente, qui trovi alcune info a riguardo:
http://www.gnu.org/software/diffutils/m ... le-Unified

Re: Eseguibili MAME/MESS con patch varie

Inviato: 02/05/2021, 22:02
da motoschifo
Upload della versione 0.231 completato.
Anche questo mese ho errori nel compilare Linux a 64 bit, non ne conosco il motivo ma non avendo tempo di approfondire lo lascio indietro.