¡Hola a todos!
El motivo de este hilo es que estoy montando el Emulation Station en versión Portable para Windows con todos los sistemas y consolas posibles y no he encontrado mucho sobre este tema en este foro ni en internet en general, puesto que lo más común es montarlo en Raspberry Pi, Recalbox o similares. Si alguien piensa que esto no corresponde en esta sección o conoce algo al respecto, estaré encantado de escuchar cualquier sugerencia.
Para empezar os comento que no lo estoy usando en un PC dedicado, si no que lo utilizo en mi PC de sobremesa al uso (Abajo del todo indico las especificaciones), Además también adelanto que no soy programador ni tengo extensos conocimientos, soy más bien autodidacta, así que cualquier explicación detallada o corrección nunca estará de más.
Todo surgió a raíz de la versión portable que desarrolló este buen señor:
ES WINDOWS PORTABLE VIDEO . En la descripción podéis encontrar los archivos para descargarla. Inicialmente están casi todos los sistemas que funcionan en Retroarch con sus Libretro etc... Pero yo comencé a implementar más sistemas que me parecían interesantes, como Turbographx, 3DO, Amstrad, N64, Wii y demás consolas que no corren obviamente en Retroarch o no lo hacen correctamente.
Así que empecé a buscar emuladores propios que pudiesen ejecutar las iso o roms directamente desde Emulation Station a pantalla completa (Ya sabéis que algunos emuladores solo permiten ejecutar roms buscandolas a través del propio menú del emulador en concreto, algo incomodo si lo que se pretende es "unir" todos los sistemas en una sola interfaz, así que esos los he desechado). OS ADJUNTO ABAJO UN EXCEL CON TODOS LOS SISTEMAS QUE QUIERO IMPLEMENTAR Y MI PROGRESO HASTA LA FECHA.
El código que he usado en el archivo "es_systems.cfg" para sistemas con emulador propio es el siguiente:
ejemplo:
<system>
<name>gc</name>
<fullname>Nintendo GameCube</fullname>
<path>~\.emulationstation\roms\gc</path>
<extension>.iso .ISO .gcm .GCM</extension>
<command>%HOME%\.emulationstation\systems\dolphin\Dolphin.exe -e "%ROM_RAW%"</command>
<platform>gc</platform>
<theme>gc</theme>
</system>
De esta manera se ejecuta la iso correctamente en Dolphin (En este caso) a pantalla completa, en algunos emuladores no se necesita el -e.
Otros emuladores me han costado un poco más, como por ejemplo el ePSXe que necesitaba algunos comandos suplementarios para ejecutarse correctamente como -analog etc:
<system>
<name>psx</name>
<fullname>Playstation</fullname>
<path>~\.emulationstation\roms\psx</path>
<extension>.cue .CUE</extension>
<command>%HOME%\.emulationstation\systems\psx\ePSXe.exe -slowboot -analog -nogui -loadbin "%ROM_RAW%"</command>
<platform>psx</platform>
<theme>psx</theme>
</system>
Pero por lo general el primer código funciona con la gran mayoría, y los que no funcionaban los he desechado
siempre y cuando tuviera una alternativa más sencilla.
El código con los sistemas ejecutados en retroarch es el siguiente:
<system>
<name>virtualboy</name>
<fullname>Virtual Boy</fullname>
<path>~\.emulationstation\roms\virtualboy</path>
<extension>.vb .VB</extension>
<command>%HOME%\.emulationstation\systems\retroarch\retroarch.exe -L %HOME%\.emulationstation\systems\retroarch\cores\mednafen_vb_libretro.dll "%ROM_RAW%"</command>
<platform>virtualboy</platform>
<theme>virtualboy</theme>
</system>
Ahora vienen los PROBLEMAS xD. A la hora de usar el Scraper de ES todo iba genial, excepto alguna vez que hice el animal e intenté scrapear 10.000 roms en el mismo sistema... Que esto ultimo me dé problemas es comprensible, simplemente borré las ROMs innecesarias y repetidas (Que son muchísimas). Básicamente las ROMs con nomenclaturas como [o1], [b1], [b1], [b2], [t1], [t2], [p1], [p2], [h1], [h2], (hack), (proto), (beta), Fren (Francés), Port (Portugués), Chil, Ger... y un largo etc... MAS ABAJO OS PONGO UNA LEYENDA DETALLADA EXTRAÍDA DE ALGÚN SITIO DE INTERNET DE CUYO NOMBRE NO LOGRO ACORDARME...
Cuando intentas scrapear más de 600 roms a la vez, parece que el programa comienza a ralentizarse exponencialmente (Hablamos de una velocidad de 1 rom cada 2 minutos...echad cuentas...) y a veces incluso se cuelga (Al menos en mi PC). Encontré una solución poco elegante pero eficaz, que consistía en repartir las ROMs en varias carpetas de 400-500 roms cada una y scrapear una carpeta cada vez. Después juntas todas las ROM en la carpeta del sistema en cuestión y ahí lo tenemos, 5000 roms scrapeadas a 2-3 roms por minuto. Aunque preferiría que, si alguien dispone de alguna solución más elegante me lo haga saber, porque lo cierto es que esta lleva su trabajo.
***EL PROBLEMA GORDO***. Aquí viene el problema que no he conseguido resolver a día de hoy y que me trae de cabeza. Y es que ahora, de repente, me aparece un mensaje que dice:
"Could not resize image! not enough memory? disk full?". He probado de todo, he abierto el Administrador de tareas y cerrado todo lo indispensable, pero lo cierto es que no llega ni a un 60% de memoria utilizada...también he vaciado disco duro, ahora tengo 60 gb y me sigue diciendo lo mismo... ¿Puede que haya alguna limitación de algún tipo en ES? ¿Lo puedo resolver cambiado el código de algún modo? También he probado pasarlo a otro PC y scrapear ahí pero me sigue saliendo el mismo mensaje... Para info, la carpeta completa del ES me ocupa ahora 66 Gb, ¿Puede ser por esto?
***ACTUALIZACION: He puesto permisos en el firewall para que permirta el flujo del ES y ahora el mensaje aparece muy rara vez, pero sigue apareciendo de vez en cuando. Estoy pensando que puede ser también problema de thegamesdb.net, de donde saca los metadatos el scraper. También he probado con thearchive pero no parece funcionar, ya que se salta todas las roms sin coger ninguna portada.
Espero que alguien me pueda sacar de dudas y darme algún tipo de solución.
Ahí lo dejo para que le deis a la cocorota xD ya me iréis diciendo. De todos modos, conforme tenga progresos sobre el resto del proyecto os iré informando, y si necesitáis que os aclare algo, aquí estoy.
LEYENDA DE NOMENCLATURAS DE ROMSReigonal tags:
[!] - "Verified" as a good dump.
(J) - Japan.
(U) - USA.
(E) - Europe.
(EU) - Europe and USA.
(JU) - Japan and USA.
(JUE) - All regions.
(W) - World (same as JUE)
(Brazil) - duh.
[R-country] - Specific country dump.
Old MD/Genesis reigonal tags:
(1) - Japan & Korea only
(4) - USA & Brazil NTSC only
(5) - NTSC only
(8) - PAL only
(
http://www.gameex.info/forums/public/st ... t/cool.gif - any non USA
Others tags:
(Proto) - Prototype cartridge. This is an unfinished build of a game.
(Beta) - Beta cartridge. This is an unfinished build of a game.
(V1.0), (V1.1), etc - Version number.
(REV00), (REV01), etc - Revision number.
(Unl) - Unlisenced. Probably a pirate.
[a1], [a2], etc - Alternate version. Another acceptable dump.
[f1], [f2], etc - Fixed. Edited (cracked) to work in emulators.
[h1], [h2], etc - Hack. Something about this cartridge has been changed, probably by pirates. The change is likely not noticeable.
[h1C], [h2C], etc - Hack. Something about this cartridge has been changed, definitly by Chinese pirates.
[p1], [p2], etc - Pirate version. The pirates changed something about the cartridge. Likely a simple removal of copywrites or a multipack.
[t1], [t2], etc - Trained. The ROM has been edited to alter stats or other gameplay mechanics.
[o1], [o2], etc - Overdump. Lots of extra data on the end, which is likely garbage.
[b1], [b2], etc - Bad dump. You almost certainly don't want to download this.
[hI] - Intro hack.
(MP) - Mega Play.
[c] - Checksum.
[x] - Bad checksum.
(multiboot) - GBA multiboot. This is the data booted on a GBA through a link cable.
[T+language_name] - Translation + language translated to _ transator.
notes:
There is some ambiguation between tags like [f1], [h1], [h1C], [p1], and [t1].
[hI] has a cool screen added to the beggining of the ROM!
[o1] or [b1] tags mean that the ROM is essentially garbage. I don't understand why those bad eggs aren't dropped from goodsets.
Bad checksums ([x]) aren't nessisarily bad; a good dump of Dynamite Heddy has a bad checksum.
ESPECIFICACIONES DE MI PCPentium i5 3.40 Mhz
8 Gb de RAM
65,5 Gb de espacio libre en disco
Geforce GTX 760
Windows 8.1