Re: Eseguibili MAME/MESS con patch varie
Inviato: 08/12/2020, 10:44
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.
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.