Software MAME Clean

Problemi e soluzioni su configurazioni software, firmware
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4754
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: Software MAME Clean

Messaggio da pucci »

ieri ho avuto una bega e non sono riuscito ad aggiornare il programma.
vedo di metterci una pezza nei prossimi giorni
Avatar utente
AntoPISA
Affezionato
Affezionato
Messaggi: 260
Iscritto il: 12/05/2010, 23:44
Città: Pisa
Località: Pisa
Grazie Inviati: 4 volte
Grazie Ricevuti: 4 volte
Contatta:

Re: Software MAME Clean

Messaggio da AntoPISA »

pucci ha scritto:ieri ho avuto una bega e non sono riuscito ad aggiornare il programma.
vedo di metterci una pezza nei prossimi giorni
Tranquillo anch'io ho diversi problemi nel mio secondo lavoro (quello vero è il MAME...); in questi giorni sono davvero molto impegnato e non avrei potuto aggiornare il sito. Aspetto pazientemente, ciao :wink:
Avatar utente
NEOGENIO
Cab-maniaco
Cab-maniaco
Messaggi: 1318
Iscritto il: 11/07/2013, 3:53
Città: Sicilia

Re: Software MAME Clean

Messaggio da NEOGENIO »

Scusate se mi aggiungo, devo tenere d'occhio anche questo post... UTILISSIMO!!!
<-clap-> <-thumbup->
Arcade a vita... dagli anni '80 per sempre!
Avatar utente
wedlock
Newbie
Newbie
Messaggi: 51
Iscritto il: 29/12/2012, 22:12
Città: Vicenza

Re: Software MAME Clean

Messaggio da wedlock »

Ciao ragazzi, per caso Pucci ha rilasciato una nuova versione di Mame Washer? E relativi sorgenti?
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3272
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 32 volte
Grazie Ricevuti: 32 volte
Contatta:

Re: Software MAME Clean

Messaggio da motoschifo »

Ho letto tutte le pagine ed alla fine ho capito che si è scelto di fare un eseguibile.
Se qualcuno ha intenzione di creare un sito o di provare a buttare giù qualche specifica io posso dare una mano.

Con C# ho fatto un programmino semplice che uso esclusivamente per pulire il romset, ossia per cancellare tutto ciò che non mi interessa:
http://www.arcadeitalia.net/viewtopic.p ... 6&p=172952
Io parto dalla versione locale (cioè dalle rom presenti sul disco fisso) ma se mettiamo queste cose su un sito, ogni operazione sarebbe decisamente più semplice visto che si utilizzerebbe un database anzichè un xml che ci costringe a tempi di caricamento sempre lunghi. Poi da quello ci potrebbe essere una consultazione ed una esportazione in lista, magari per front-end e con tutti i filtri possibili (come quelli su Progetto Emma).
In questo programma manca la questione parent non funzionante e clone funzionante, oppure le liste di esclusione in base all'esperienza di ciascuno di noi.

Oltre alla pagina di amministrazione che dovrà spazzolarsi il Mame e poi caricare i vari dati (è possibile eseguire anche il Mame su un server, senza bisogno di trasferire 140 mega di xml) credo che tutti i file ini di classificazione dovranno essere storicizzati pure loro.
Aggiungerei una gestione di almeno tre profili distinti (utenti, amministratori, ospiti) e poi in base alle esigenze il sito potrà essere arricchito di altre funzionalità.

E' probabile che in futuro possa iniziare un progetto simile visto che già volevo farlo per me, ma il lavoro non è certo piccolino e quindi i tempi si allungheranno parecchio.
Ad ogni modo se avete bisogno fatemelo sapere :)
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
sanzoghenzo
Newbie
Newbie
Messaggi: 58
Iscritto il: 12/02/2014, 11:58
Città: Trento

Re: Software MAME Clean

Messaggio da sanzoghenzo »

Mi sono accorto solo ora di questa discussione, giusto dopo aver scremato il mio romset per advancemame usando advancescan con il filtro "working_parent" (quindi parent funzionanti e cloni funzionanti di parent non funzionanti), quindi usando ROMlister per generare la lista di giochi utilizzabili su un cabinato da 2 giocatori a 6 tasti (evitando mature, mahjong, ecc) con tale lista e uno script bash ho spostato le rom in una cartella separata da dare in pasto al cab.
La rottura di scatole maggiore è stata quella di ricreare il catver per il mame 0.106. Per (s)fortuna sono disoccupato e questo lavoro mi ha impegnato per un paio di giorni :)

Ho scaricato il programma (e i vecchi sorgenti), in questi giorni vedrò di fare una comparazione con quello che sono riuscito a fare io... grazie Pucci!

L'idea di un sito web è molto carina (anche per il fatto che sono allergico a microsoft ;) ), soprattutto per quanto riguarda la possibilità di segnalazione da parte degli utenti di "anomalie" come avete già riportato.
Vedo che mysql ha già una funzione per creare tabelle da un file xml, che può essere usata dagli amministratori del sito tramite phpmyadmin senza dover creare interfacce (però si perderebbe la possibilità di caricare direttamente l'eseguibile del mame, o meglio bisognerebbe caricarlo e creare la listxml a mano).
Se la mia situazione lavorativa rimarrà tale a lungo potrei dedicarmi all'impresa ;)
Avatar utente
AntoPISA
Affezionato
Affezionato
Messaggi: 260
Iscritto il: 12/05/2010, 23:44
Città: Pisa
Località: Pisa
Grazie Inviati: 4 volte
Grazie Ricevuti: 4 volte
Contatta:

Re: Software MAME Clean

Messaggio da AntoPISA »

pucci ha scritto:ieri ho avuto una bega e non sono riuscito ad aggiornare il programma.
vedo di metterci una pezza nei prossimi giorni
E' un po' che non aggiorni questo post, hai delle novità? :-D
djfiorec

Donatore
Cab-maniaco
Cab-maniaco
Messaggi: 1281
Iscritto il: 07/06/2010, 12:13
Medaglie: 1
Città: Salerno
Località: Pagani (SA)

Re: Software MAME Clean

Messaggio da djfiorec »

Siccome dovrei pulire il set, ci sono novità per download o versione?

In realtà al momento ho un solo un piccolo dubbio, dove prendere un .ini con i giochi con più di 6 tasti e .'ini contenente "Gioco NON Funzionante con clone funzionante".

Mi sembra strano che quest'ultimo filtro non sia applicabile su progettoemma... perchè nella leggenda la "categoria" esiste.
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4754
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: Software MAME Clean

Messaggio da pucci »

riprendo alcuni concetti di questa mia idea

---

Sarebbe bello avere un software che prende l'XML prodotto dal MAME e le catlist e pulisce la lista dei giochi da roba inutile in un cabinato

il risultato di questo lavoropuò essere una lista di nomi giochi da usare per selezionare solo le cose importanti per il nostro MAME cab

come dovrebbe funzionare questo software?

- prendi l'XML prodotto dal MAME
- elimina tutti i giochi mechanical (fruit machine e pinball)
- elimina tutti i cloni (opzionale)
- se il parent risulta non working permetti attraverso una finestra di dialogo che mostra i cloni funzionanti quale scegliere
- elimina i not working
- elimina i mahjong (opzionale)
- elimina i giochi per adulti (opzionale)
- crea una lista dei giochi rimasti (oppure permetti di cancellare/spostare i giochi/immagini non in lista)

questo software potrebbe essere stand alone e/o essere integrato come funzione in Feel (mgalaxy ha una funzione simile)

problemi:
- alcuni mechanical non sono ne fruit machine ne pinball (ma sarebbe comunque impossibile giocarci)
- alcuni not working in realtà funzionano (uno tra tanti: Road Riot 4WD) (risolvibile con una lista di giochi NON not working?)
- alcuni cloni differiscono in modo significativo dal parent tanto che meriterebbero di essere mantenuti (a questo non ho soluzione, a parte l'ennesima lista)
- il programma dovrebbe fare ampio uso di liste stile CATVER che non è detto siano precise e corrette al 100% (ma anche il sorgente nel MAME non lo è)

---

rimane il grosso problema che se un parent è not working e tu elimini tutti i cloni, perderai la possibilità di giocare a quel gioco.
ed inoltre ci sono dei giochi dove il clone e' piu' famoso dell'originale (vedi mexico86 con kick & run)...

per questi casi qui purtroppo anche il miglior algoritmo informatico può veramente poco e l'unico modo è affidarsi a delle liste esterne compilate da essere umani

alcuni casi dove sarebbe utile realizzare delle liste:
- giochi considerati not working ma che in realtà sono praticamente working
- cloni che meritano di essere inseriti (in aggiunta o in sostituzione ai loro parents)
- giochi considerati working ma che in realtà non lo sono

inoltre, essendo un programma pensato per i mamecab, un altro aspetto importante sarebbe quello di poter indicare quali "periferiche di controllo" ho sul mamecab (spinner, trackball, volante 270, volante 360, ecc...) e poter filtrare i giochi che necessitano di controlli che non si hanno (che senso ha mettere sul cab un gioco per spinner se poi non ho i mezzi per giocarci)?

per le "liste fatte da umani" di cui parlavo sopra sarebbe bello realizzare un progetto "collaborativo" stile "progetto EMMA". Progetto EMMA nasce con scopi diversi (documentazione pura del MAME), il nostro dovrebbe focalizzarsi su quello che nel MAME è considerato "piacevole effetto collaterale" e cioè la giocabilità dei giochi.

un utente potrebbe segnalare ad esempio che il tal gioco non è working e verebbe quindi inserito un una lista da usare con il programma

---

ho fatto una query sul database del MAME 0.144u7 e se non ho fatto errori nella query, i cloni funzionanti di parent non funzionanti sono questi

Ace Attacker (Japan, System 16A, FD1094 317-0060) http://www.progettoemma.net/index.php?gioco=aceattaca
Alligator Hunt (unprotected) http://www.progettoemma.net/index.php?gioco=aligatorun
Bronx http://www.progettoemma.net/index.php?gioco=bronx
Cobra Command (M.A.C.H. 3 hardware) http://www.progettoemma.net/index.php?gioco=cobram3
Counter Run (bootleg set 1) http://www.progettoemma.net/index.php?gioco=countrunb
Dark Horse (bootleg of Jockey Club II) http://www.progettoemma.net/index.php?gioco=darkhors
Zhong Guo Long II (ver. 100C, China) http://www.progettoemma.net/index.php?gioco=drgw2c
Dancing Stage featuring Dreams Come True (GC910 VER. JAA) http://www.progettoemma.net/index.php?gioco=dsfdcta
Forte Card (Ver 110, Spanish) http://www.progettoemma.net/index.php?gioco=fortecrd
Gigas (bootleg) http://www.progettoemma.net/index.php?gioco=gigasb
Goal! '92 http://www.progettoemma.net/index.php?gioco=goal92
Jansou (set 2) http://www.progettoemma.net/index.php?gioco=jansoua
Oigas (bootleg) http://www.progettoemma.net/index.php?gioco=oigas
Space Bugger (set 2) http://www.progettoemma.net/index.php?gioco=sbuggera
Jumbo Ozaki Super Masters Golf (World, Floppy Based, FD1094 317-0058-05c) http://www.progettoemma.net/index.php?gioco=sgmastc
Jumbo Ozaki Super Masters Golf (Japan, Floppy Based, FD1094 317-0058-05b) http://www.progettoemma.net/index.php?gioco=sgmastj
Shooting Master (EVG, 8751 315-5159a) http://www.progettoemma.net/index.php?gioco=shtngmste
Super Shanghai Dragon's Eye (World, bootleg) http://www.progettoemma.net/index.php?gioco=sshanghab
Tokio / Scramble Formation (bootleg) http://www.progettoemma.net/index.php?gioco=tokiob

sono quindi 19 giochi

la query cerca tutti i clone WORKING che non siano MECHANICAL non siano BIOS non siano DEVICE e il cui PARENT è NOT WORKING

come parametro per stabilire se un gioco è WORKING ho usato l'attributo "emulation", ci sarebbe però anche l'attributo "status", qualcuno sa la differenza?

ecco il codice della query:
CODICE: SELEZIONA TUTTO

Codice: Seleziona tutto

SELECT game.description
FROM game INNER JOIN driver ON game.PKEY = driver.FKEY
WHERE driver.attr_emulation="Good" AND game.attr_ismechanical Is Null AND game.attr_isbios Is Null AND game.attr_isdevice Is Null 
AND game.attr_cloneof In 
     (SELECT game.attr_name 
      FROM game INNER JOIN driver ON game.PKEY = driver.FKEY
      WHERE driver.attr_emulation="preliminary");
un altro utente potrebbe segnalare un clone con grosse differenze dal parent, e allora anche questo andrebbe nella solita lista

---

Allora, visto che il progetto ha perso interesse, vediamo di mettere nero su bianco alcune scoperte relative al MAME ListXML fatte in questi giorni.
Mi baserò sul MAME 0.145 (la versione in onore dei 15 anni recentemente rilasciata)

COSA CONTIENE LISTXML

nel listXML si trovano alcuni flag utili al nostro lavoro (tra parentesi i valori che possono assumere):

- ismechanical (NULL-yes)
- isbios (NULL-yes)
- isdevice (NULL-yes)
- runnable (NULL-no) [questo sembra legato a isdevice, se isdevice=YES allora runnable=NO)

- status (good-imperfect-preliminary)
- emulation (good-preliminary)
- color (good-imperfect-preliminary)
- sound (good-imperfect-preliminary)
- graphic (good-imperfect)
- savestate (supported-unsupported)
- protection (NULL-preliminary)
- cocktail (NULL-preliminary)

i flag della seconda categoria hanno implicazioni importanti per capire se un gioco è giocabile o ha dei problemi, esiste infatti una "scala" nel valore delle problematiche presenti nei driver (in ordine dalla meno problematica alla più problematica):
- GOOD
- IMPERFECT
- PRELIMINARY

il flag STATUS è determinato da una specie di operazione logica sui flag EMULATION, COLOR, SOUND, GRAPHIC, PROTECTION:
- se anche uno solo di questi 5 flag è settato a PRELIMINARY indipendentemente dagli altri 4, il flag STATUS sarà PRELIMINARY
- se anche uno solo di questi 5 flag è settato a IMPERFECT e nessuno degli altri 4 è settato a PRELIMINARY allora STATUS sarà IMPERFECT
- se tutti e 5 i flag sono settati a GOOD, il flag STATUS sarà GOOD

il flag EMULATION è quello che determina se un gioco viene considerato "working" (se EMULATION = GOOD) oppure "not working" (se EMULATION = PRELIMINARY), sottolineo che purtroppo questa classificazione è arbitraria e non sempre corretta (ad esempio risultano not working tutti i Sega Mega Tech, Nintendo Super System, Naomi, ecc...)

partiamo ora con la nostra selezione

ALL GAMES (18649)

nella lista "GAME" sono presenti 18662 record
di questi però 13 sono dei "DEVICE"
quindi i giochi effettivi diventano 18649 (18662-13) confermato anche dai conteggi di MAMEUI, invece stranamente ClrMAME riporta 18664 (+15 rispetto al numero corretto), qualcuno sa il perchè?

questo numero (18649) è quindi la nostra base di partenza

BIOS (65)

togliamo i bios. si, lo so che servono per far funzionare i giochi, ma li metteremo magari in una apposita cartella, di sicuro non ci serve conteggiarli tra i giochi e sopratutto inserirli nelle liste per i nostri frontend

arriviamo quindi a 18584

MECHANICAL (8077)

togliamo ora i giochi con attributo "ismechanical", in pratica tutti i giochi che per funzionare necessitano di qualcosa che va oltre i normali controller e i normali monitor, e quindi sarebbero comunque ingiocabili in un cabinato
in questa categoria sono presenti 8077 giochi e sono presenti 31 giochi giocabili (perchè ad esempio la parte video è ben emulata, come nel caso di Sonic Blast Man, Real Puncher, Dyno Bop, Super Strike Bowling, Slick Shot, ecc... oppure perchè è stato realizzato un apposito artwork per simulare le parti "meccaniche" come nel caso di Dr.Who The Timelord e Gamball)
alcuni giochi di questa categoria sono molto interessanti, ma difficilmente giocabili:
- Sonic Blast Man e Real Puncher (seguito di Sonic Blast Man) sono simili ai punchball da luna park (tanto che per giocare dovevi mettere un guantone), con la differenza che in base alla forza del pugno la faccia del nemico sul monitor si deformava in modo maggiore o minore (curiosità: la Taito fu citata in giudizio da diverse persone che si erano procurate lesioni giocando a questo gioco...)
- Slick Shot è un gioco di biliardo con una stecca
- Super Strike Bowling un gioco di bowling con delle vere palle da bowling
in questa categoria (anche se come "not working") c'è World Pk Soccer: quel videogioco dove dovete calciare un vero pallone

domanda per AntoPisa: perchè anche per i giochi mechanical funzionanti, nei tuoi set, c'è la classica schermata "this set has no snapshot"?

siamo arrivati a 10507

per ora ci fermiamo qui perchè ho sonno, continuiamo nella prossima puntata

---

ok, dopo aver pulito un pò delle cose inutili stasera parliamo dei giochi "toccati" dal flag PROTECTION

ci sono 299 giochi con il flag PROTECTION settato a PRELIMINARY
di questi 72 hanno il flag EMULATION settato a GOOD e sono quindi considerati WORKING
mentre 227 hanno il flag EMULATION settato a PRELIMINARY e sono quindi considerati NOT WORKING

in questa "categoria" purtroppo ho trovato molta discrezionalità nello stabilire se un gioco è working oppure no, forse perchè una protezione non perfettamente emulata può rendere un gioco quasi giocabile e magari presentare qualche piccolo bug in un solo livello.

per questa categoria servirebbe veramente tanto il famoso "sito" di cui si parlava, per permettere agli utenti di segnalare dei giochi classificati come NOT WORKING ma che in realtà sono WORKING

nel frattempo per aiutarvi a fare queste considerazioni ho preparato 3 file excel (che trovate nello zip allegato) con i nomi dei giochi e i link a Progetto Emma
i file sono 3:
PROTECTION: contiene tutti i 299 giochi con PROTECTION=PRELIMINARY
PROTECTION WORKING: contiene i 72 giochi working
PROTECTION NOT WORKING: contiene i 227 giochi not working

vi segnalo che nella categoria "PROTECTION NOT WORKING" sono presenti giochi interessanti e secondo me giocabili come:
Double Wings http://www.progettoemma.net/index.php?gioco=dblewing
Heated Barrel (World version 3) http://www.progettoemma.net/index.php?gioco=heatbrl
Legionnaire (World) http://www.progettoemma.net/index.php?gioco=legionna
Moto Frenzy http://www.progettoemma.net/index.php?gioco=motofren
Oriental Legend Special / Xi You Shi E Zhuan Super (ver. 101, Korean Board) http://www.progettoemma.net/index.php?gioco=olds
Oriental Legend Special Plus / Xi You Shi E Zhuan Super Plus http://www.progettoemma.net/index.php?gioco=oldsplus
Road Riot's Revenge (prototype, Sep 06, 1994) http://www.progettoemma.net/index.php?gioco=rrreveng

buona notte e alla prossima!

---

bene, oggi diamo un occhiata al flag SOUND

questo flag può assumere 3 stati:
- GOOD per i giochi con audio perfettamente funzionante
- IMPERFECT per i giochi con audio funzionante ma con problemi (suoni mancanti, suoni disturbati, ecc...)
- PRELIMINARY per i giochi con audio assente

come nel caso precedente (nel quale non avevo citato questo particolare) la lista di partenza è quella TOTALE dei giochi depurati da: DEVICE, BIOS, MECHANICAL

andiamo a vedere il dettaglio della categoria (escludendo il caso di SOUND=GOOD che indica assenza di problemi):

ci sono 1489 giochi con il flag SOUND settato a PRELIMINARY
di questi 164 hanno il flag EMULATION settato a GOOD e sono quindi considerati WORKING
mentre 1325 hanno il flag EMULATION settato a PRELIMINARY e sono quindi considerati NOT WORKING

ci sono 1492 giochi con il flag SOUND settato a IMPERFECT
di questi 985 hanno il flag EMULATION settato a GOOD e sono quindi considerati WORKING
mentre 507 hanno il flag EMULATION settato a PRELIMINARY e sono quindi considerati NOT WORKING

se andiamo a considerari il TOTALE dei giochi con problemi audio:

ci sono 2981 giochi con il flag SOUND settato a PRELIMINARY o IMPERFECT
di questi 1149 hanno il flag EMULATION settato a GOOD e sono quindi considerati WORKING
mentre 1832 hanno il flag EMULATION settato a PRELIMINARY e sono quindi considerati NOT WORKING

come per il caso precedente ho preparato dei file excel con nome roms, nome gioco e link a Progetto Emma (li trovate nello zip allegato).

diversamente dal caso "protection" in questa categoria ho trovato meno problemi nei NOT WORKING (nel senso che i NOT WORKING con problemi al suono mi sono tutti sembrati ingiocabili e non adatti quindi all'inserimento in un MAMEcab)
a parte forse questi due giochi (uno lo abbiamo già visto nella categoria PROTECTION, a me sembra funzionare ed è pure molto bello):

Double Wings http://www.progettoemma.net/index.php?gioco=dblewing
Zero Target (World, CW) http://www.progettoemma.net/index.php?gioco=zerotrgt

---

ok, ora è il turno del flag COLOR

così come per SOUND, questo flag può assumere 3 stati:
- GOOD per i giochi con colori corretti
- IMPERFECT per i giochi con alcuni colori non corretti
- PRELIMINARY per i giochi con i colori completamente errati

come per i flag precedenti la lista di partenza è sempre quella TOTALE dei giochi depurati da: DEVICE, BIOS, MECHANICAL

andiamo a vedere il dettaglio della categoria (escludendo il caso di COLOR=GOOD che indica assenza di problemi):

ci sono 87 giochi con il flag COLOR settato a PRELIMINARY
di questi 65 hanno il flag EMULATION settato a GOOD e sono quindi considerati WORKING
mentre 22 hanno il flag EMULATION settato a PRELIMINARY e sono quindi considerati NOT WORKING

ci sono 81 giochi con il flag COLOR settato a IMPERFECT
di questi 73 hanno il flag EMULATION settato a GOOD e sono quindi considerati WORKING
mentre 8 hanno il flag EMULATION settato a PRELIMINARY e sono quindi considerati NOT WORKING

se andiamo a considerari il TOTALE dei giochi con problemi audio:

ci sono 168 giochi con il flag COLOR settato a PRELIMINARY o IMPERFECT
di questi 138 hanno il flag EMULATION settato a GOOD e sono quindi considerati WORKING
mentre 30 hanno il flag EMULATION settato a PRELIMINARY e sono quindi considerati NOT WORKING

come sempre ho preparato dei file excel con nome roms, nome gioco e link a Progetto Emma (vedi zip allegato).

in questa categoria non ho trovato NOT WORKING funzionanti meritevoli di essere inseriti in un MAMEcab

---

ok, ora è il turno del flag GRAPHIC

questo flag può assumere solo 2 stati:
- GOOD l'emulazione grafica è corretta
- IMPERFECT l'emulazione grafica ha problemi (manca qualche effetto grafico, mancano dei pezzi di grafica, ecc...)

come per tutti i flag precedenti la lista di partenza è sempre quella TOTALE dei giochi depurati da: DEVICE, BIOS, MECHANICAL

ci sono 1514 giochi con il flag GRAPHIC settato a IMPERFECT
di questi 995 hanno il flag EMULATION settato a GOOD e sono quindi considerati WORKING
mentre 519 hanno il flag EMULATION settato a PRELIMINARY e sono quindi considerati NOT WORKING

allego i soliti file excel con nome roms, nome gioco e link a Progetto Emma

in questa categoria ho trovato due NOT WORKING funzionanti meritevoli (anche perchè secondo me sono working...) di essere inseriti in un MAMEcab:
World Grand Prix (US) http://www.progettoemma.net/index.php?gioco=wgp
World Grand Prix 2 (Japan) http://www.progettoemma.net/index.php?gioco=wgp2

---

ho dato in pasto l'XML prodotto da MAME -listxml a questo software http://www.kybernetika.de/xml2mdb/
e poi ci ho dato dentro di query SQL!

---

Ottima intuzione e geniale scoperta AntoPISA!

do il mio piccolo contributo in relazione alla tua lista di 240 titoli

163 SONO DISPLAY DIGITALI DI PINBALL (source file WHITESTAR.c):
- 33 giochi con manufacter SEGA
- 130 giochi con manufacter STERN

63 SONO FRUIT MACHINE MPU4 (source file MPU4.c):
- 4 giochi con manufacter BARCREST: sono Fruit Machine MPU4
- 15 giochi con manufacter BDD: sono Fruit Machine MPU4
- 1 gioco con manufacter BWB: è una Fruit Machine MPU4
- 4 giochi con manufacter CONCEPT GAMES LTD: sono Fruit Machine MPU4
- 5 giochi con manufacter CRYSTAL: sono Fruit Machine MPU4
- 1 gioco con manufacter EUROTECH: è una Fruit Machine MPU4
- 1 gioco con manufacter MAZOOMA: è una Fruit Machine MPU4
- 18 giochi con manufacter NOVA: sono Fruit Machine MPU4
- 14 giochi con manufacter QPS: sono Fruit Machine MPU4

I RESTANTI 14 HANNO UN LORO GRADO DI ORIGINALITA' CHE LI AVVICINA MOLTO ALLA DEFINIZIONE CLASSICA DI VIDEOGIOCHI:

acommand - Alien Command - http://www.progettoemma.net/index.php?gioco=acommand
dynobop - Dyno Bop - http://www.progettoemma.net/index.php?gioco=dynobop
kftgoal - Kick for the Goal - http://www.progettoemma.net/index.php?gioco=kftgoal
kungfur - Kung Fu Roushi - http://www.progettoemma.net/index.php?gioco=kungfur
realpunc - Real Puncher - http://www.progettoemma.net/index.php?gioco=realpunc
slikshot16 - Slick Shot (V1.6) - http://www.progettoemma.net/index.php?gioco=slikshot16
slikshot17 - Slick Shot (V1.7) - http://www.progettoemma.net/index.php?gioco=slikshot17
slikshot - Slick Shot (V2.2) - http://www.progettoemma.net/index.php?gioco=slikshot
sbm - Sonic Blast Man (Japan) - http://www.progettoemma.net/index.php?gioco=sbm
sstrike - Super Strike Bowling - http://www.progettoemma.net/index.php?gioco=sstrike
tenpindx - Ten Pin Deluxe - http://www.progettoemma.net/index.php?gioco=tenpindx
m_tppokr - Top Poker (Dutch, Game Card 95-750-899) - http://www.progettoemma.net/index.php?gioco=m_tppokr
2mindril - Two Minute Drill - http://www.progettoemma.net/index.php?gioco=2mindril
wpksoc - World PK Soccer - http://www.progettoemma.net/index.php?gioco=wpksoc

Alien Command -- gioco con lightgun dove bisogna sperare a degli UFO
Dyno Bop -- devi tirare delle palline (vere) a dei dinosauri
World PK Soccer - Kick for the Goal -- devi tirare dei rigori calciando un pallone
Kung Fu Roushi -- NON HO CAPITO COSA SIA, SE VOLETE CI SONO IMMAGINI QUI: http://www.arcade-history.com/?n=kung-f ... l&id=31352
Sonic Blast Man (Japan) - Real Puncher -- devi prendere a pugni dei personaggi sullo schermo (la versione elettronica del punchball dei lunapark). curiosità: in Real Puncher potete digitalizzare la vostra faccia usando una telecamera e prenderla a pugni
Slick Shot (V2.2) - Slick Shot (V1.7) - Slick Shot (V1.6) -- il gioco del biliardo con una vera stecca
Super Strike Bowling -- bowling con birilli e palle reali
Ten Pin Deluxe -- bowling con birilli proiettati in 3D e palle reali
Top Poker (Dutch, Game Card 95-750-899) -- gioco di poker elettromeccanico
Two Minute Drill -- gioco di football americano (e non di baseball come riportato erroneamente nel HISTORY.DAT) con una vera palla ovale

---

sono andato ancora un pò avanti con il concetto "clone che meritano di essere inseriti"
rispetto alla lista che trovate qui: viewtopic.p ... =30#p95079 e che si basa unicamente sul concetto di "clone working di parent not working"
ho considerato anche i casi dove abbiamo clone e parent entrambi working, ma il clone ha alcuni aspetti di emulazione (suono, grafica, colore, ecc...) che funzionano meglio del parent

in pratica come ho già spiegato, il MAME usa 5 flag per identificare lo stato dell'emulazione:
- EMULATION
- COLOR
- SOUND
- GRAPHIC
- PROTECTION
(esiste anche un sesto flag STATUS che è una specie di "riassunto" di questi 5, ma per questo tipo di ricerca non ci serve)

ho controllato tutti i cloni dove anche uno solo dei 5 flag ha uno stato "migliore" rispetto al parent

ovviamente potrebbe capitare che il clone è migliore del parent per uno dei 5 flag, ma peggiore per un altro (ES: il clone ha colori emulati fedelmente e il parent no, ma il parent ha sonoro migliore rispetto a quel clone)
quindi in questo caso è difficile stabilire un algoritmo automatico di selezione

i cloni "meritevoli di essere inseriti" non sono molti per fortuna (e diversi di questi sono videopoker, mahjong, ecc...), li ho riportati in un file excel e li ho codificati con dei colori:
- rosso: parent con problemi
- giallo: cloni che hanno alcuni flag migliori del parent, ma altri inferiori
- verde: cloni che hanno almeno un flag migliore del parent e gli altri migliori o uguali al parent

ho anche allegato un file .ini da usare con MAMEUI (inseritelo nella cartella FOLDER) per poterli testare e valutare

questi file li trovate nello zip allegato a questo post

tra l'altro studiando questa categoria ho individuato diversi "cloni diversi dal parent", ad esempio:
- Quartet 2 (che sarebbe un aggiornamento di Quartet 1 piuttosto che un vero proprio seguito) è considerato clone di Quartet 1, ma ci sono notevoli differenze: Quartet 1 si può giocare in 4 contemporaneamente, mentre Quartet 2 permette al massimo 2 giocatori simultanei)
- diversi giochi realizzati su piattaforme diverse (DK conversion, Scramble conversion), sono considerati parent-clone, ma presentano differenze grafiche molto significative dettate dalla piattaforma hardware

---

ragionando sul concetto di "quali gioco voglio nel mio cabinato" oltre al già citato fatto che se il mio cab non ha la trackall è inutile che ci metta giochi che la richiedono, ho considerato l'aspetto "frequenza del monitor":
se il mio monitor è a 15Khz è inutile che ci metta dentro dei giochi che usavano monitor a 25khz (Super Sprint ad esempio) o a 31Khz (i giochi Naomi ad esempio)

certo, potrei comunque giocarci su un monitor a bassa risoluzione accettando di usare risoluzioni interlacciate, ma non è detto che a tutti piaccia la cosa

inoltre qualcuno potrebbe voler separare i giochi che usano i vari tipi di monitor perchè magari ha più cabinati e su ognuno mette solo una determinata categoria (conosco diverse persone che hanno un cab con monitor orizzontale e uno con monitor verticale proprio per questo motivo)

a questo punto il problema è: come riuscire a individuare la tipologia di monitor usato dal gioco basandosi non su liste compilate a mano ma usando solo i dati presenti nel listXML

i un mio vecchio MAME Database ho ritrovato una formula, sinceramente non so come ci arrivai e non so nemmeno se è corretta, ma magari qualcuno più esperto di me può correggerla, migliorarla o crarne una nuova

i dati che ci fornisce listXML sono questi:
- type (raster, vector): ci permette di separare i giochi vettoriali (che usavano appositi monitor) da quelli raster (che usano i comuni monitor dei cab)
- rotate (0, 90, 180, 270): in base al valore capiamo se un gioco usa lo schermo orizzontale (0 o 180) o verticale (90 o 270)
- width: larghezza
- height: altezza
- refresh: frequenza di aggiornamento verticale

ci sono anche questi dati che non so se possono tornare utili (credo che abbiano a che fare con linee/colonne totali, porch, blank period, ecc...):
- pixclock
- htotal
- hbend
- hbstart
- vtotal
- vbend
- vbstart
- flipx

la formula che mi sono ritrovato per identificare il tipo di monitor è questa:
è 15Khz se ((15720/refresh/1000000)-22)-height >= 0)
è 25Khz se ((15720/refresh/1000000)-22)-height < 0) AND ((25000/refresh/1000000)-22)-height >= 0)
è 31Khz se ((25000/refresh/1000000)-22)-height < 0)

a dire il vero avevo inserito anche queste condizioni, in aggiunta alle precedenti (e non ricordo il perchè):
25Khz se (height>288) AND (height<=384)
31Khz se (height>340)

le formule vanno sicuramente "riviste", qualche esperto di monitor può darmi una mano?

---

MAME Clean - algoritmo per definire la lista finale

1 - prendi la lista completa dei giochi da listXML

2 - elimina i DEVICE

3 - elimina i MECHANICAL

4 - elimina i NOT WORKING
4B - reinserisci i NOT WORKING che in realà sono WORKING (per questo servirebbe un sito di tipo collaborativo dove gli utenti possono segnalare i giochi con queste caratteristiche) - NOTE: andrebbe realizzato una query che permette di inserire in questo sito solo i giochi dove non esiste ne un parent ne un clone WORKING

5 - elimina i CLONE
5B - reinserisci i CLONE che presentano differenze significative di loro PARENT (per questo servirebbe un sito di tipo collaborativo dove gli utenti possono segnalare i giochi con queste caratteristiche)

6 - inserire i CLONE che funzionano meglio dei PARENT (ed eliminare i relativi PARENT dalla lista) - NOTE: vedi lista in questo post posting.php ... 49#pr97742

7 (OPZIONALE) - elimina i giochi "imperfetti" (problemi grafici, sonoro, colori, protezione) - NOTE: vedi liste viewtopic.p ... =40#p96261 - viewtopic.p ... =40#p96544 - viewtopic.p ... =40#p96566 - viewtopic.p ... =40#p96575

8 (OPZIONALE) - elimina i giochi che presentano caratteristiche video non adatte al mio cab (raster/vettoriali - orizzontali/verticali - 15Khz-25Khz-31Khz) - NOTE: qui serve una mano degli esperti di monitor, vedi qui viewtopic.p ... =60#p97746

9 (OPZIONALE) - elimina i giochi che usano controlli non presenti nel mio cab (joystick 49way/rotary stick/spinner/trackball/ecc...)

10 (OPZIONALE) - elimina i giochi di determinate categoria (gamblin/fruit machine/mahjong/adult/ecc...) - NOTE: quali liste usare? CAT32 o Deluxe32? ci sono differenze tra queste due?


credo che tutto questo possa farsi con una qualche routine automatica da inserire in un frontend (FEEL...?) o come utility indipendente (RomLister evolution?) e le uniche parti da fare "a mano" sono i siti collaborativi per segnalare i "NOT WORKING che funzionano" e i "CLONE diversi dal PARENT"

secondo me sarebbe un servizio bellissimo alla comunità dei MAME cabbers che aggiunto a dei buoni driver (Calamity), un buon frontend (FEEL) e un buon emulatore (DARKMAME) rappresenterebbe la soluzione "PERFETTA"

io la mia parte l'ho fatta e sto provando a continuare a farla, qualcuno mi da una mano?

---

Ok, rivedendole meglio dovrebbero essere cosi scritte:

è 15Khz se ((15720/refresh/1000000)-22)-height >= 0)
è 25Khz se ((15720/refresh/1000000)-22)-height < 0) AND ((26500/refresh/1000000)-22)-height >= 0)
è 31Khz se ((265000/refresh/1000000)-22)-height < 0)
pucci ha scritto:
mi chiedo perchè ho inserito quel "-22", forse perchè tolgo alcune linee di blank dal calcolo?
Nn saprei, riesci a risalire al doc dove hai preso questi dati?
in ogni caso nn influenzano il calcolo, a mio modo di vedere e' possibile individuare la tipologia del monitor basandoci su queste:

15KHz se (height<=288)
25Khz se (height>288) AND (height<=384)
31Khz se (height>384)
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4754
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: Software MAME Clean

Messaggio da pucci »

in questi giorni ho scoperto un programma che ha enormi potenzialità per fare quello che scrivevo in questa discussione.
è un programma da linea di comando, molto poco user friendly ma estremamente potente.
lo seguivo da un po' ma la sua difficoltà mi aveva sempre allontanato, ora lo sto scoprendo anche perchè recentemente sono state aggiunte molte funzionalità utili e chatto quasi tutti giorni con l'autore per fargli aggiungere funzionalità o eliminare bug.
si chiama SabreTools https://github.com/SabreTools/SabreTools.

sto anche provando a ripensare un po' all'algoritmo di "pulizia", anche perchè da quando ho scritto questo posto il MAME XML è cambiato, i game sono diventati machine (in seguito alla fusione MAME-MESS), ecc...
  1. elimina i set ex mess
  2. elimina i cloni
  3. elimina i not working
  4. riaggiungi i cloni di parent not working (NOTA: va prevista una selezione per quale clone aggiungere, solitamente i cloni working di parent not working sono diversi)
  5. elimina i generi o categorie che non vuoi (ES: mahjong, slot machine, quiz game, ecc...)
  6. elimina giochi che non funzionano sul monitor del mio cabinato (ES: il mio cab ha monitor a bassa frequenza ed elimino i giochi che necessità di monitor a media o alta frequenza)
  7. elimina i giochi che non funzionano sul control panel del mio cabinato (ES: il mio cab non ha uno spinner e elimino i giochi con spinner)
  8. riaggiungo un insieme di giochi (eliminati nei punti precedenti) ma che voglio comunque nel mio cab
e voi cosa ne pensate? idee? suggerimenti?

questa era un altra discussione su questo argomento: https://www.arcadeitalia.net/viewtopic.php?f=56&t=32401
Rispondi

Torna a “Miscellanea software”