Splitted, merged e non-merged set in export

Il database che raccoglie tutte le informazioni sui giochi, video, screenshot e tanto altro ancora

Moderatore: Moderatore ADB

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:

Splitted, merged e non-merged set in export

Messaggio da motoschifo »

Recentemente ho avuto richieste in merito all'export per ClrMamePro e il tipo di set.
Mi spiego meglio: usando l'export di oggi e portandolo su ClrMamePro, in alcuni casi ho un warning o un errore di file mancanti o relazioni con il parent non disponibili.

Riepilogo i tipi di set del Mame:
  • splitted: formato classico, con parent completo e clone con le differenze
  • merged: parent completo anche di tutti i cloni, cloni vuoti (il file può essere rimosso)
  • non-merged: parent con i propri file, clone con i propri file (anche uguali)
Spero di non aver fatto confusione, non so perchè ma quando leggo merged lo intendo sempre come uno splitted <-wacko->
Prendiamo come esempio un parent ed un clone.

Parent 1941

Codice: Seleziona tutto

game (
	name "1941"
	description "1941: Counter Attack (World 900227)"
	year "1990"
	manufacturer "Capcom"
	sourcefile "capcom/cps1.cpp"
	rom ( name "41em_30.11f" size "131072" crc  "4249ec61" sha1 "5323cfa6938e6d95db8469f09b2fb5b5c5068bfc" )
	rom ( name "41em_35.11h" size "131072" crc  "ddbee5eb" sha1 "0fef53398f4e2cd6ccc7bc122dd893e0a4e2e052" )
	rom ( name "41em_31.12f" size "131072" crc  "584e88e5" sha1 "af254408d939cc439b5653e60afbccdf59777085" )
	rom ( name "41em_36.12h" size "131072" crc  "3cfc31d0" sha1 "7c0614e4e25502ff2d18aa4a97c91bf05ead875f" )
	rom ( name "41-32m.8h" size "524288" crc  "4e9648ca" sha1 "d8e67e6e3a6dc79053e4f56cfd83431385ea7611" )
	rom ( name "41-5m.7a" size "524288" crc  "01d1cb11" sha1 "621e5377d1aaa9f7270d85bea1bdeef6721cdd05" )
	rom ( name "41-7m.9a" size "524288" crc  "aeaa3509" sha1 "6124ef06d9dfdd879181856bd49853f1800c3b87" )
	rom ( name "41-1m.3a" size "524288" crc  "ff77985a" sha1 "7e08df3a829bf9617470a46c79b713d4d9ebacae" )
	rom ( name "41-3m.5a" size "524288" crc  "983be58f" sha1 "83a4decdd775f859240771269b8af3a5981b244c" )
	rom ( name "41_9.12b" size "65536" crc  "0f9d8527" sha1 "3a00dd5772f38081fde11d8d61ba467379e2a636" )
	rom ( name "41_18.11c" size "131072" crc  "d1f15aeb" sha1 "88089383f2d54fc97026a67f067d448eee5bd0c2" )
	rom ( name "41_19.12c" size "131072" crc  "15aec3a6" sha1 "8153c03aba005bab62bf0e8b3d15ec1c346326fd" )
	rom ( name "buf1" size "279" crc  "eb122de7" sha1 "b26b5bfe258e3e184f069719f9fd008d6b8f6b9b" )
	rom ( name "ioa1" size "279" crc  "59c7ee3b" sha1 "fbb887c5b4f5cb8df77cec710eaac2985bc482a6" )
	rom ( name "prg1" size "279" crc  "f1129744" sha1 "a5300f301c1a08a7da768f0773fa0fe3f683b237" )
	rom ( name "rom1" size "279" crc  "41dc73b9" sha1 "7d4c9f1693c821fbf84e32dd6ef62ddf14967845" )
	rom ( name "sou1" size "279" crc  "84f4b2fe" sha1 "dcc9e86cc36316fe42eace02d6df75d08bc8bb6d" )
	rom ( name "yi24b.1a" size "279" crc  "3004dcdf" sha1 "a73d86d1545af1d99a03d88af83449ec82b03c5c" )
	rom ( name "iob1.11e" size "279" crc  "3abc0700" sha1 "973043aa46ec6d5d1db20dc9d5937005a0f9f6ae" )
)
Clone 1941u

Codice: Seleziona tutto

game (
	name "1941u"
	description "1941: Counter Attack (USA 900227)"
	year "1990"
	manufacturer "Capcom"
	romof "1941"
	cloneof "1941"
	sourcefile "capcom/cps1.cpp"
	rom ( name "41u_30.11f" size "131072" crc  "be5439d0" sha1 "a62e0aa4f13f504c0eded99d731f7c820c51cb3d" )
	rom ( name "41u_35.11h" size "131072" crc  "6ac96595" sha1 "efff8185fd1aee29d9b5164a9aac61f77f769ae4" )
	rom ( name "41u_31.12f" size "131072" crc  "9811d6eb" sha1 "6dda86a3a726a2b5459f0b90f58343966e9783cc" )
	rom ( name "41u_36.12h" size "131072" crc  "a87e6137" sha1 "d4b63a0c14a35ebd61cddd01cdc6fc955d521ae2" )
	rom ( name "41-32m.8h" size "524288" crc  "4e9648ca" sha1 "d8e67e6e3a6dc79053e4f56cfd83431385ea7611" )
	rom ( name "41-5m.7a" size "524288" crc  "01d1cb11" sha1 "621e5377d1aaa9f7270d85bea1bdeef6721cdd05" )
	rom ( name "41-7m.9a" size "524288" crc  "aeaa3509" sha1 "6124ef06d9dfdd879181856bd49853f1800c3b87" )
	rom ( name "41-1m.3a" size "524288" crc  "ff77985a" sha1 "7e08df3a829bf9617470a46c79b713d4d9ebacae" )
	rom ( name "41-3m.5a" size "524288" crc  "983be58f" sha1 "83a4decdd775f859240771269b8af3a5981b244c" )
	rom ( name "41_9.12b" size "65536" crc  "0f9d8527" sha1 "3a00dd5772f38081fde11d8d61ba467379e2a636" )
	rom ( name "41e_18.11c" size "131072" crc  "d1f15aeb" sha1 "88089383f2d54fc97026a67f067d448eee5bd0c2" )
	rom ( name "41_19.12c" size "131072" crc  "15aec3a6" sha1 "8153c03aba005bab62bf0e8b3d15ec1c346326fd" )
	rom ( name "buf1" size "279" crc  "eb122de7" sha1 "b26b5bfe258e3e184f069719f9fd008d6b8f6b9b" )
	rom ( name "ioa1" size "279" crc  "59c7ee3b" sha1 "fbb887c5b4f5cb8df77cec710eaac2985bc482a6" )
	rom ( name "prg1" size "279" crc  "f1129744" sha1 "a5300f301c1a08a7da768f0773fa0fe3f683b237" )
	rom ( name "rom1" size "279" crc  "41dc73b9" sha1 "7d4c9f1693c821fbf84e32dd6ef62ddf14967845" )
	rom ( name "sou1" size "279" crc  "84f4b2fe" sha1 "dcc9e86cc36316fe42eace02d6df75d08bc8bb6d" )
	rom ( name "yi24b.1a" size "279" crc  "3004dcdf" sha1 "a73d86d1545af1d99a03d88af83449ec82b03c5c" )
	rom ( name "iob1.11e" size "279" crc  "3abc0700" sha1 "973043aa46ec6d5d1db20dc9d5937005a0f9f6ae" )
)
Quindi avendo questi 3 tipi e volendo mettere un selettore nelle opzioni di esportazione, come dovrebbero cambiare i file dat?
Io pensavo di togliere cloneof/romof da un set non-merged (quindi ciascuno zip ha tutti i file necessari).
Il primo problema è che non saprei che fare nel caso di merged (se non eventualmente togliere tutte le rom o addirittura il file in export in caso di clone).
Il secondo è che romof potrebbe contenere dei bios, come in mslug/neogeo, quindi in questo caso dovrebbe essere tenuto. Ma è un casino verificare ulteriormente se il link è un bios ed eventualmente rimuoverlo, mi piacerebbe una regola più lineare.
Inoltre è corretto agire in questo modo o si vanno a creare problemi con ClrMamePro?
Ad esempio dat senza rom producono errori? A memoria direi di si, ma non riesco a provarlo in questo momento.
Il default ovviamente sarebbe splitted, quindi i file dat risulteranno una copia dell'xml del Mame.

In caso di dubbi, la documentazione ufficiale è qui: https://docs.mamedev.org/usingmame/aboutromsets.html
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Tox Nox Fox

BanHammer Silver Medal Donatore
Moderatore
Moderatore
Messaggi: 11793
Iscritto il: 14/01/2007, 23:35
Medaglie: 3
Grazie Inviati: 161 volte
Grazie Ricevuti: 276 volte

Re: Splitted, merged e non-merged set in export

Messaggio da Tox Nox Fox »

Io uso il metodo del romset full in non-merged, poi shrink e via.
Credo sia l'unico sistema efficace per non avere errori o dimenticanze.
Per dat senza rom cosa intendi ? Perché se usi le opzioni corrette problemi non ne hai. Uso i .dat anche per gli extra di AntoPisa
WP.ARCADEITALIA.NET
La Guida al MameCab
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: Splitted, merged e non-merged set in export

Messaggio da motoschifo »

Mi hanno chiesto di togliere romof/cloneof perchè il set controllato dal dat risultante restituisce errori.
Se si crea un set con solo 1941u e si mette tutto lì (non-merged), il software segnala che manca il legame con il parent e che manca la rom 1941.
Non ricordo perchè lo facevo anni fa, ma anche se ci fossero opzioni speciali, avere un dato romof/cloneof per un set non-merged risulta sbagliato e rischia di ignorare invece gli errori.
Per quel motivo pensavo di aggiungere questa opzione, da usare ovviamente su export specifici.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
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: Splitted, merged e non-merged set in export

Messaggio da motoschifo »

Tox Nox Fox ha scritto: 18/08/2023, 16:13 Per dat senza rom cosa intendi ? Perché se usi le opzioni corrette problemi non ne hai. Uso i .dat anche per gli extra di AntoPisa
Se indico le rom del parent inesistente, ClrMamePro darà giustamente errore.
Da qui l'idea di togliere tutti i nodi "rom" per i cloni nei set merged.
Ho visto il sorgente e nell'export è prevista questa possibilità, quindi direi che non ci sono errori.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Tox Nox Fox

BanHammer Silver Medal Donatore
Moderatore
Moderatore
Messaggi: 11793
Iscritto il: 14/01/2007, 23:35
Medaglie: 3
Grazie Inviati: 161 volte
Grazie Ricevuti: 276 volte

Re: Splitted, merged e non-merged set in export

Messaggio da Tox Nox Fox »

Ah ok chiaro
WP.ARCADEITALIA.NET
La Guida al MameCab
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: Splitted, merged e non-merged set in export

Messaggio da motoschifo »

Intanto ho pubblicato la modifica, per ora disponibile solo per l'esportazione in formato DAT.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Nikoh
Affezionato
Affezionato
Messaggi: 130
Iscritto il: 06/12/2017, 0:51
Città: Tortoreto
Località: Tortoreto
Grazie Inviati: 11 volte
Grazie Ricevuti: 5 volte
Contatta:

Re: Splitted, merged e non-merged set in export

Messaggio da Nikoh »

@motoschifo ciao, vorrei divertirmi a scriptare qualcosa tipo clrmamepro multipiattaforma (finalmente un rom manager nativo anche per linux), magari con funzioni aggiuntive ect etc.
Ho cominciato a dare un'occhiata al sito di sviluppo ufficiale mame, per caso saresti interessato a darmi una mano in questa cosa, magari integrarlo col tuo sito db?
------------------------------------------------------------------
La violenza è l'ultimo rifugio degli incapaci...
Il mio gruppetto: REtrogaming ACTivities
Avatar utente
Nikoh
Affezionato
Affezionato
Messaggi: 130
Iscritto il: 06/12/2017, 0:51
Città: Tortoreto
Località: Tortoreto
Grazie Inviati: 11 volte
Grazie Ricevuti: 5 volte
Contatta:

Re: Splitted, merged e non-merged set in export

Messaggio da Nikoh »

motoschifo ha scritto: 17/08/2023, 22:23 Il secondo è che romof potrebbe contenere dei bios, come in mslug/neogeo, quindi in questo caso dovrebbe essere tenuto. Ma è un casino verificare ulteriormente se il link è un bios ed eventualmente rimuoverlo, mi piacerebbe una regola più lineare.
Stavo appunto affrontando questo problema... ho scoperto un romset manager, si chiama IGIR, lo stavo provando ed ho notato che costruendo un romset "split" in tutti i parent NeoGeo include tutti i file del bios, quelli in neogeo.zip per intenderci; non riesco a capire se si tratta di un errore del rom manager e quindi ad esempio clrmamepro si comporta in altro modo oppure se è formalmente corretto poiché nel file dat che ho (quello ufficiale libretro) tutti i file di bios sono inclusi nelle rom, salvo però aggiungere che ogni rom è "romof=neogeo"
------------------------------------------------------------------
La violenza è l'ultimo rifugio degli incapaci...
Il mio gruppetto: REtrogaming ACTivities
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: Splitted, merged e non-merged set in export

Messaggio da motoschifo »

Nikoh ha scritto: 28/12/2023, 11:26 Ho cominciato a dare un'occhiata al sito di sviluppo ufficiale mame, per caso saresti interessato a darmi una mano in questa cosa, magari integrarlo col tuo sito db?
Come tempo purtroppo non ne ho molto, anzi non ne ho proprio.
Nel 2024 proseguirò con il sito dato che sono in arrivo parecchie novità, comunque tu inizia così vedi se la cosa è fattibile. Poi per domande apri pure un thread qui sul forum, così tutti potremo aiutarti o supportarti.
La fase di export è molto complessa, considera sempre che il sito lavora su tutte le versioni del Mame e che una ricerca potrebbe includere più di una release. Ma proprio per questo motivo potrebbe dare qualcosa in più rispetto ad altri.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
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: Splitted, merged e non-merged set in export

Messaggio da motoschifo »

Nikoh ha scritto: 28/12/2023, 12:18 Stavo appunto affrontando questo problema... ho scoperto un romset manager, si chiama IGIR, lo stavo provando ed ho notato che costruendo un romset "split" in tutti i parent NeoGeo include tutti i file del bios, quelli in neogeo.zip per intenderci; non riesco a capire se si tratta di un errore del rom manager e quindi ad esempio clrmamepro si comporta in altro modo oppure se è formalmente corretto poiché nel file dat che ho (quello ufficiale libretro) tutti i file di bios sono inclusi nelle rom, salvo però aggiungere che ogni rom è "romof=neogeo"
Le informazioni che ho io sono frutto dell'esperienza, nel Mame non ho trovato quasi mai nulla di scritto. Considera che ero partito quasi 10 anni fa quindi tante cose al tempo erano "misteriose" per me.
L'attributo "romof" serve unicamente come referenza, ovvero per cercare altri file se non presenti nello zip del romset.
Secondo me se hai tutti i bios nello zip, puoi tranquillamente rimuovere quell'attributo, o viceversa puoi spostare i bios in neogeo.zip.
Probabilmente il rom manager li ha inclusi in quanto riportato nei nodi "roms", ma in teoria dovrebbe ragionare in questo modo:
- prima processo i romset senza referenza
- trovo tutti i file da includere in ciascuno zip
- seconda passata con i romset con almeno una referenza
- trovo tutti i file da includere negli zip che non siano già stati inclusi negli zip collegati da romof/biosof/cloneof

I dat e gli xml infatti contengono tutti i file necessari, alcuni dovrebbero essere solo nel romset, altri solo in romof/cloneof.
Ma sui bios forse inizialmente non c'era questa distinzione e non sono stati considerati nello stesso modo.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Rispondi

Torna a “Progetto Arcade Data Base”