Ahora viene agosto , tengo ya un poco de descanso y vacaciones, y me puse a boludiar con la programacion
En la epoca de los 90s, siempre pense lo genial que estaria poder usar el emulador ZSNES, que tiene una GUI barbara, para jugar a los juegos de NES/Famicom
Bueno, unos dias atras, agarre el codigo, e hice algunos cambios
Tambien recompile el core para soportar ademas de roms de NES/Famicom, las de Famicom Disk System. Necesitan la bios "DISKSYS.ROM"
DESCARGA
http://www.akihabara-online.com/Main/Em ... s/znes.zip
Con el core por defecto, no soporta archivos comprimidos, y es necesario poner las roms en los dos directorios que vienen
Carpeta ROMS = Roms .NES de NES/Famicom
Carpeta FDS = Roms .FDS de Famicom Disk System
El emulador con el core FCEUMM no soporta roms en otros directorios que no sean esos dos. Si usan otros cores como quicknes o bnes, no hay limitaciones, tanto zip como directorios aleatorios van bien
Este es un problema del core FCEUMM, que paso de solucionar
1 -
Cambie la resolucion interna del zsnes de 224 lineas a las correctas 240 de la Famicom/NES, pero deje el menu interno a 224 lineas
Esto creo que es lo correcto, en caso de que la TV o monitor CRT tenga overscan, si no, se perderia el menu, ya que la mayoria de las TV tienen una resolucion efectiva de entre 216-232 px aproximadamente
En caso de CRT a 31khz, tambien viene bien tener un menu centrado, por si se quiere hacer overscan manual con los modelines
2 -
Cambie la manera que busca los cores, busca en este orden
"fceumm_libretro.dll",
"bnes_libretro.dll",
"quicknes_libretro.dll",
"retro.dll",
Asi se puede usar el core que mas les guste. El core por defecto que dejo es el FCEUMM
3 -
Modifique el core fceumm, sigue sin soportar zip o directorios aleatorios, pero ahora busca las roms en dos directorios concretos "roms" y "fds"
Suficiente para mi, ya que tengo todas las roms de nes/famicom en el directorio ROMS y las de Disk System en el de FDS
Bien ordenadas, no es necesario mas creo yo. Y que no tome zip... pues teniendo en cuenta q tengo un fullset de los dos sistemas en menos de 300mb.. no me quita el sueño.. amen de la compresion NTFS
Si a alguno le interesa, para soportar los dos directorios, el cambio que hice al codigo del core de fceum en el archivo fceu.c es este
Sientanse libres de mejorarlo si les interesa, mi dominio de C apesta, me siento mas comodo con ensamblador la verdad
Código: Seleccionar todo
getcwd(cwd, sizeof(cwd));
snprintf(buf, sizeof(buf), "%s\\roms\\%s", cwd, name);
fp = FCEU_fopen(buf, NULL, "rb", 0, databuf, databufsize);
if (!fp) {
snprintf(buf, sizeof(buf), "%s\\fds\\%s", cwd, name);
fp = FCEU_fopen(buf, NULL, "rb", 0, databuf, databufsize);
}
Saludo chicos