Yo quisiera montar un server con freenas o alguna otra solucion similar, con redundancia, y tal. La verdad es que no tengo experiencia ninguna con servidores de almacenamiento, pero ZFS parece de lo mas avanzado actualmente.
Otra cosa es que el actual paradigma de almacenamiento y clasificacion de cosas como esta me frustra enormemente.
Me voy a enrollar bastante, pero para alguien, quizá, obsesivo, como yo, para estas cosas, bajar colecciones o ROMs sueltas (*) me resulta enormemente frustrante desde todos los puntos de vista.
Si bajas ROMs sueltas tienes que estar organizandolas tu, y, para saber que has bajado exactamente tienes que pasarlos por algun identificador/renombrador/manager que lo compare con alguna base de datos reputada, y ya ahí tienes que escoger una y adaptar tu coleccion a su sistema si no quieres tener todo por duplicado, y no todas tienen lo mismo, ni, en mi opinion, hay una coleccion 100% superior en casi ningun caso. Que si TOSEC, GoodTools, No-Intro, Gr8Set, trurip, ReDump, y alguna que me dejo, y ya no hablemos de los lotes/sets de recreativas, con MAME, ZiNc, FBA. Y luego colecciones separadas de micros y algunas cosas raras, las colecciones no oficiales que muchos llaman "NonGood" y demás
Incluso dentro de las colecciones mas "faciles", que son las de consolas de cartucho, mucha gente cree que lo tiene claro y tiran a por No-Intro... bueno, a mi No-Intro no me convence demasiado. Sus metodos son un tanto dudosos en muchas situaciones. Por ejemplo, para un sistema como N64, tan conocido y sencillo (las ROMs son meros volcados, sin necesidad ninguna de headers adicionales, como si necesita la NES), no se si actualmente siguen haciendolo así, pero la ultima vez que lo comprobé, se siguen empeñando en usar el "formato" V64, le den la extension que le den a los ficheros. Los copiones de la epoca (de los que no supe nada entonces), usaban, por lo visto, varios "formatos" para adaptarse a particulares chapuzas del hardware made-in-hongkong que contenian. Uno de los copiones mas populares, el Doctor V64 de Bung, por motivo de su hardware interno, almacenaba los bytes de las ROMs en un orden distinto al original. En vez de ABCD, los ordenaba como BADC. Debido a la popularidad de ese copión, que, hoy en dia dudo que siga usando casi nadie, la gran mayoría de ROMs se distribuian en ese formato. Otro copion popular era el Z64, que si almacenaba los bytes en su orden correcto ABCD. En la epoca habia programas para hacer "byteswap" y reordenar los bytes segun las necesidades de tu copión. En estos programas hay tambien un orden DCAB, creo, aunque no se a qué copión corresponde... Quizá el CD64. Por supuesto, los fabricantes de tales copiones y sus correspondiente software daban extensiones a los ficheros de acuerdo al nombre del copion: BADC es V64, ABCD es Z64, y, curiosamente DCBA es N64... Debería ser ABCD y N64. El caso es que No-Intro parece empeñado en usar el "formato" BADC, como si fueran ROMs para el Doctor V64, cuando para emuladores y flashcarts modernos no tiene utilidad ninguna pues pueden detectar el byteswap gracias a los 4 primeros bytes de la ROM que en todas las ROMs comerciales son 0x80371240 en ABCD. Por no hablar de que, para hackear y parchear lo ideal es usar ABCD... pero No-Intro, a no ser que se hayan dado su brazo a torcer recientemente, sigue usando las ROMs a lo V64, cosa que no logro entender.
Luego esta el tema de compartir. Dado que bajar roms sueltas no me satisface, si bajo lotes, especialmente de un torrent, porque a mi me importa lo de compartir, el problema es que tengo que mantenerlo todo tal como vino. No puedo ni renombrar, reorganizar, descomprimir de los zips individuales para comprimir en 7Zs agrupados por juego lo el criterio que sea, porque, entonces, a la mierda compartir. Y cuando sacan una nueva version, por añadirse ROMs nuevas o lo que sea... toca pasar un monton de aplicaciones especificamente de la manera en que el autor del lote mande tambien para actualizar, o mandarlo todo a la mierda y bajar de nuevo.
Además, para jugadores que les gusta probar y buscar titulos desconocidos, cuesta mucho llevar la cuenta de lo que has jugado y lo que no, y los diferentes emuladores y dispositivos ROM no facilitan nada la administracion inteligente y centralizada de guardapartidas. Cada uno lo hace a su manera, con alguna base de datos particular del propio emulador, usando el nombre de archivo de la ROM, el nombre interno o codigo del header...
A estas alturas, con todos los avances tecnologicos de almacenamiento, procesamiento, bases de datos, etc, y, con la amenaza del copyright y la censura en internet, ya es hora de tener un sistema de organizacion (y, mediante el, de comparticion descentralizada) que permita tener las ROMs en un almacenamiento de archivos unicos y encima de ello bases de datos diferentes haciendo referencia a ellas, con filtros que compensen por cabeceras, formatos y otras consideraciones donde sea posible, tanto bases de datos clasicas (TOSEC, Good, etc), como otras de nueva generacion con informacion mas en profundidad, bases de datos de juegos que hagan referencia a las ROMs y tambien otro tipo de informaciones, como manuales, caratulas, relaciones. Uno podría tener las ROMs y/o todo tipo de otras bases de datos interrelacionadas pero no interdependientes. No como ahora, que todo va centralizado en un emulador o frontend, organizado de la manera escogida por los autores, o simples carpetas.
Todo esto se almacenaría a nivel del usuario con varias capas de caches y catalogos, con compresion, agrupacion y control de diferencias de formato, y con dicha infrastructura, además, cabría la posibilidad de hacer una capa de distribucion decentralizada P2P automatizada, puede que incluso con transferencias de creditos a modo de criptomonedas o ratios o ambos (como en un tracker bittorrent, pero descentralizado y fungible)... en fin, un monton de servicios y aplicaciones se podrían montar, y ya no solo para ROMs, si no un monton de cosas mas. Claro que tambien habrá quedado claro que una de mis preocupaciones es el archivado, y "enciclopedizacion" de materiales de este tipo.
Con un sistema así, tambien se podría mejorar mucho el manejo de guardapartidas, que es otra cosa muy frustrante actualmente, pero mejor lo dejo para otra ocasion.
Por supuesto, todo esto es un proyecto super ambicioso al que tendría que sumarse mucha gente para que funcionase, tanto desarrolladores como usuarios de todo tipo que aportasen y curasen material. Si bien, con todos los esfuerzos paralelos que hay hoy en dia y que al final no nos libran de este caos y fragilidad ante ataques, merecería la pena, creo yo...
En fin, si has leido todo el tocho, espero que te haya entretenido. He tenido que soltarlo en algun lado al volver a ponerme a bajar ROMs que habia borrado y vermelas otra vez con el caos que supone.
(*) ALERTA DE PEDANTERIA:
No llameis ISOs a las imagenes de discos opticos. Primeramente muchas ni si quiera usan el sistema de ficheros ISO9660 que da nombre a la extension *.iso, y segunda, dado que son imagenes/volcados de sistemas de almacenamiento de solo lectura, igual que los chips, no veo ningun inconveniente en llamar ROMs tambien a las imagenes de los ópticos... y, ya de paso, cualquier otro soporte fabricado para proporcionar una copia de un software de manera tal que, en condiciones de uso normales, el usuario no vaya a escribir en el, o, por lo menos, en el area del programa original. El termino mas correcto sería "dumps" o volcados, pero, en honor de la pretendida no sobreescribilidad de estos, yo llamaria ROM al volcado de cualquier soporte original de un software o juego, ya sean chips mask rom, discos magneticos y opticos, cintas magneticas y de papel, vinilos (si, los hubo), discos duros, tarjetas perforadas, tarjetas con codigos opticos... lo que sea. Yo creo que lo mas correcto es llamar ROM a cualquier dump/volcado de un soporte original (o reescribible en caso de prototipos).