questo week-end ho fatto un programmino per eliminare le rom dei giochi in maniera semplice e pulita, cioè senza fare danni rimuovendo file usati da altri.
L'ho scritto in C# 2010 ed utilizza il framework Microsoft .Net 4.0. L'ambiente di sviluppo è facilmente scaricabile dal sito della Microsoft: http://go.microsoft.com/?linkid=9709969
Considerate che è un programma ancora giovane, ha poche ore di vita... ma il suo dovere lo fa già.
Prima di iniziare occorre scaricare il programma Mame (mame.exe) dal sito ufficiale. Gli indirizzi sono questi:
http://www.mamedev.org/release.html
http://www.mamedev.org/oldrel.html
La versione da prelevare deve essere quella relativa alle rom possedute, altrimenti le informazioni potrebbero non corrispondere al contenuto delle cartelle.
Dopo aver impostato il percorso corretto (es. E:\MAME) è possibile ottenere l'elenco dei giochi ed usare il tasto CANC per eliminarlo. In realtà non verrà rimosso dal disco ma spostato nella cartella "0-REMOVED" quindi se fare qualcosa di sbagliato basterà riportare tutto il suo contenuto dentro la cartella principale.
Spiego brevemente come funziona:
- alla prima esecuzione viene creato il file gamelist.xml usando mame.exe (il comando esatto è "mame.exe -listxml > gamelist.xml").
- successivamente viene letto questo file e caricata la lista a video con tutti i giochi e tutte le informazioni sul gioco
- ad ogni selezione si può vedere l'immagine a fianco. Le immagini vengono cercate nella cartella "snap" in formato png o jpg prima per rom, poi per clone ed infine per padre.
- premento CANC il gioco viene spostato nella cartella "0-REMOVED" dopo la richiesta di conferma operazione. Insieme alla rom vengono spostati anche tutti gli altri file: artworks, cabinets, chds, ecc.
- premendo INVIO o con il doppio click il gioco viene eseguito usando mame.exe con le opzioni di default (da migliorare in futuro)
- i giochi in colore grigio sono quelli che hanno dipendenza verso altre rom, in genere non cancellabili (ovviamente file bios e device non potranno essere cancellati)
Nota: al cambio di versione del mame occorre riscaricare il nuovo file mame.exe e rimuovere manualmente il file gamelist.xml.
Come detto prima, si tratta di un programma appena iniziato per cui non è perfetto ed è molto migliorabile.
Sul mio pc virtuale il file gamelist.xml ci mette 10 minuti per essere creato (140MB!) ma spero proprio non sia così anche su altri pc.
Altre cose possono essere aggiunte o cambiate, però vorrei capire se può avere un senso continuare lo sviluppo di questo programma dato che non ho molto tempo da dedicarci.
Se siete interessati fatemi sapere come vi sembra.
L'ultima versione di questo progetto si trova qui: https://drive.google.com/drive/folders/ ... sp=sharing
EDIT
- - 04/01/2014: Aggiornamento 2.2 per sistemazione flag funzionante si/no
- 05/01/2014: Aggiornamento 2.3 con piccole migliorie (ridimensionamento finestra ed altro) e separazione programmi da sorgenti. Essendo rientrato nel limite di 1MB posso postare sul forum anzichè usare il mio Google
- 05/01/2014: Aggiornamento 2.4 con ulteriore correzione per il flag funzionante si/no
- 12/01/2014: Aggiornamento 2.5 con filtri aggiuntivi: tipo schermo (raster, vettoriale, ecc), orientamento schermo (orizzontale, verticale), giochi che usano chd, giochi che usano sample
- 25/01/2014: Aggiornamento 2.6 con filtro versione rivisto. Ora è possibile selezionare una versione particolare oppure un range di versioni (fino a, dalla, compreso nell'intervallo)
- 26/01/2014: Aggiornamento 2.7 con creazione automatica della lista xml generata dal Mame ed opzione per ricrearla in caso di problemi
- 13/02/2014: Aggiornamento 2.8 con correzione bug durante la selezione e cancellazione delle rom, introdotto da modifiche precedenti. Possibilità di nascondere alcune colonne e gestione file ini per il salvataggio/lettura delle impostazioni inserite dall'utente
- 31/03/2015: Aggiornamento 2.9 per aggiunta pcb/marquee e numero di versione nel titolo
- 08/06/2015: Aggiornamento 2.10 per il supporto alle versioni 0.162 e successive del Mame
- 14/02/2019: Aggiornamento 2.11 per migliorie sul supporto di vecchissime versioni (es. 0.106)