Secret of Evermore en snes9x

Como algunos sabréis este juego tiene problemas de compatibilidad en
todos los snes9x y en otros emuladores, especialmente las versiones pal
española, alemana y francesa.
En snes9x gx de la wii por ejemplo también tiene congelaciones al pasar de escenas a veces, y todo ello se agrava al usar algún botón de turbo.

Bien pues gracias a la ayuda de mi colega CUE he podido hacer un parche
que por ahora lo que he testeado no se cuelga, y me vendría bien que alguien que
pueda jugarlo lo testee, yo lo he probado en snes9x 1.53 de pc algo y funciona bien, en zsnes
sigue colgándose como siempre.

También el juego ahora está a 60hz en ntsc.

enlace: usad el Lunar IPS.
http://dl.dropboxusercontent.com/u/22524283/Secret%20of%20evermore%20pal%20fix%20for%20snes9x%20v0.1.rar
Weee

A mí el que se me colgaba era el Tales of Phantasia con la tradu española de DeJap cuando trazaban el plan del asalto en Midgar. No recuerdo en cuál emulador, pero creo que se colgaba en ambos...

Te podría pasar las partidas cuando tenga hueco, por si se le puede echar un vistacillo.

Con respecto al Secret of Evermore, no me ha llamado nunca este juego... Así que un cable por mi parte no podré echarte.[+risas]
Marcoide20 escribió:Weee
A mí el que se me colgaba era el Tales of Phantasia con la tradu española de DeJap cuando trazaban el plan del asalto en Midgar. No recuerdo en cuál emulador, pero creo que se colgaba en ambos...


Eso ocurre solo con el parche mejicano de Dejap, que aparte de una aberración ortográfica, tiene algunas referencias políticas que no vienen a cuento. Si quieres jugar a una traducción que no tiene cuelgues y es más fiel a la original, prueba la mía, que ya fue liberada hace 7 años.
Yo me pasé el SoE en el snes9x de psp y no me dió problemas de cuelgues ni nada. En cualquier caso enhorabuena por el curro [ok]

Una duda ¿Es un problema de la rom o es una mala emulación? ¿En bsnes ocurre lo mismo? Lo digo porque hacer un parche para reparar algo que debería de funcionar me parece un poco matar "moscas a cañonazos", sería mejor reparar el emulador en mi opinión (solo mi opinión, me parece perfecto si prefieres hacer un parche).
nuvalo escribió:Una duda ¿Es un problema de la rom o es una mala emulación? ¿En bsnes ocurre lo mismo? Lo digo porque hacer un parche para reparar algo que debería de funcionar me parece un poco matar "moscas a cañonazos", sería mejor reparar el emulador en mi opinión (solo mi opinión, me parece perfecto si prefieres hacer un parche).


Es una mala emulación, o mejor dicho, una emulación "no demasiado precisa", por lo que estoy de acuerdo contigo, lo ideal es que fuera el emulador el que se arreglara.

De todas maneras, arreglar un fallo de ese estilo es un curro ENORME y gadesx se merce todo nuestro reconocimiento, porque además suele ser dificilísimo encontrar por qué falla. Si se pasa por aquí otra vez, a mí me parecería interesante que comentara los detalles técnicos del fallo y cómo lo ha arreglado :D
De todas maneras, arreglar un fallo de ese estilo es un curro ENORME y gadesx se merce todo nuestro reconocimiento, porque además suele ser dificilísimo encontrar por qué falla. Si se pasa por aquí otra vez, a mí me parecería interesante que comentara los detalles técnicos del fallo y cómo lo ha arreglado


Sí por supuesto, me parece impresionante el curro, tampoco quiero desmerecer, es solo que me resulta raro ver que alguien lo haga de esta manera. Por lo que he visto, no le afecta a bsnes, así que el curro debería de caerles a los desarrolladores de emuladores, no a los usuarios :). Pero oye, que cualquier aporte es bueno.

Lo preguntaba solo por curiosidad, también me interesa ver a qué se debe ese bug. Lo poco que he visto en los foros de znes y snes9x es que parece que al hacer el port a PAL mantuvieron algunos timings de NTSC, y por la razón que sea al ejecutar la rom en los emuladores no le gusta al juego y se bloquea.
nuvalo escribió:
De todas maneras, arreglar un fallo de ese estilo es un curro ENORME y gadesx se merce todo nuestro reconocimiento, porque además suele ser dificilísimo encontrar por qué falla. Si se pasa por aquí otra vez, a mí me parecería interesante que comentara los detalles técnicos del fallo y cómo lo ha arreglado


Sí por supuesto, me parece impresionante el curro, tampoco quiero desmerecer, es solo que me resulta raro ver que alguien lo haga de esta manera. Por lo que he visto, no le afecta a bsnes, así que el curro debería de caerles a los desarrolladores de emuladores, no a los usuarios :). Pero oye, que cualquier aporte es bueno.

Lo preguntaba solo por curiosidad, también me interesa ver a qué se debe ese bug. Lo poco que he visto en los foros de znes y snes9x es que parece que al hacer el port a PAL mantuvieron algunos timings de NTSC, y por la razón que sea al ejecutar la rom en los emuladores no le gusta al juego y se bloquea.


Por lo que comentais, sobre todo por el tema de los timings NTSC, sera por la que Gadesx ha hecho que la ROM corra a 60HZ, digo yo vamos, es solo una especulacion, hasta que Gadesx no diga como le ha metido mano junto con el magnifico CUE, que hariamos los retrogamers sin todos vosotros, mil gracias.
Sí, será algo relacionado con el timing, parecido al error que ocurre en FF6 que requiere del "PAL-Fix" para que funcione... En el FF6, el problema está en que hay escenas que se sincronizan al sonido (como la ópera, la caída del continente o el final) y esto puede producir cuelgues ya que el audio no se cambia de "frame-rate" (pitch) por lo que dura menos en PAL que en NTSC: cuando la música termina antes que se ejecute la rutina que espera a que se termine, entonces se produce un bucle infinito.
Otro ejemplo está en los menús del FF6: abusan del H-DMA para posicionar ventanas y texto, por lo que si un H-DMA no se completa, desaparece el fondo del menú e incluso podría ocurrir que el texto.

Es el problema de las chapuzas que hacían los programadores de NO convertir a 50Hz los juegos; lo que no me esperaba que eso fuera a pasar en Secret of Evermore, un juego desarrollado con mentalidad occidental que estaba totalmente previsto que saliera en zona PAL, así que no hubiera costado demasiado hacerlo bien desde el principio.
Hola, tengo noticias nuevas,
en 3 sitios de google code
snes9x oficial, snes9x no oficial y snes9x gx ha estado gente comentando
el problema de este juego desde el 2009-2010 pero no lo han arreglado,

yo tuve problemas jugandolo en el snes9x gx de la wii y la único que conseguí
que funcionase fue la versión americana.
El otro día lo comenté en el foro de romxhack y dije eso de que decían que era
porque estaba en pal y no se sincronizaba bien el sonido o algo, y daba ese problema,
con las instrucciones que me dijo CUE pasé la rom a NTSC, pero seguía
dando problemas.
Se me ocurrió probar con el ucon64 pasarle algunas cosas a la rom
viendo en la web oficial que cosas había.

El caso es que tras darle a unas cuantas cosas probé y vi que ya no se colgaba
ni usando turbo a 900FPS XD
Hoy me ha dicho CUE que de todo lo que usé, de arreglar la cabecera y otros
comandos no hace falta,
solamente habia que usar
-l remove SlowROM checks
que debo decir, no tengo ni idea de qué hace, pero funciona [+risas]

Así que no penséis soy un romhacker porque no sé na, solo doy golpes de teclado xddd

He comentado en todos los sitios posibles esto del secret of evermore, y quizás
con suerte se haga algo, de todos modos para quien quiera jugarlo en condiciones,
he subido más versiones,

Añadidos fixes para las versiones PAL con el header original,
Añadido fix para la versión inglesa (E)

http://dl.dropboxusercontent.com/u/22524283/Secret%20of%20evermore%20pal%20fixes%20for%20snes9x%20v0.2.rar

Sobre como pasé la rom pal a ntsc, pues siguiendo los pasos de CUE que me dijo:
Con UCON haz lo siguiente: ucon64.exe rom.sfc -f
Ve a 0xFFD9 y cambia el valor 0x08 por 0x01. Es el byte que indica PAL/NTSC y así ponemos el mismo que tiene la rom USA.
Gracias por la aclaracion de como realizaste la tradu con ayuda de CUE, muy detallado, se agradece, por otro lado, la nueva version que has subido de los fixes que incluye la version inglesa, he visto que para todas las versiones (idiomas) hay dos variantes, una que pone NTSC y otra PAL ¿que diferencia hay entre ambas?

Segun pones en el readme, no se debe quitar el header de la rom, ¿¿¿esto es por que te facilito la creacion del fix o hay algun otro motivo???, lo comento porque por lo que tengo entendido, el header de una ROM lo añadian los antiguos dumpeadores de cartuchos y no sirven para nada.
anarkowars escribió:Gracias por la aclaracion de como realizaste la tradu con ayuda de CUE, muy detallado, se agradece, por otro lado, la nueva version que has subido de los fixes que incluye la version inglesa, he visto que para todas las versiones (idiomas) hay dos variantes, una que pone NTSC y otra PAL ¿que diferencia hay entre ambas?

pues que primero probé aparte de arreglar eso, pasarlo a ntsc por si ese era el problema,
pero viendo que en pal también funciona, pues también he añadido para solamente
arreglar los cuelgues sin tocar nada más y dejarlo a 50hz.
No sé si al pasarlo así a 60hz en algún momento el juego puede ir mal,
a 60hz el juego va más fluido como la versión americana.
Estaría interesante saber si se pueden cambiar de región otros juegos de forma similar :cool:

anarkowars escribió:Segun pones en el readme, no se debe quitar el header de la rom, ¿¿¿esto es por que te facilito la creacion del fix o hay algun otro motivo???, lo comento porque por lo que tengo entendido, el header de una ROM lo añadian los antiguos dumpeadores de cartuchos y no sirven para nada.

en los parches NTSC todos les puse el header arreglado con el ucon64 (el checksum),
en los parches PAL están con el header por defecto, sin cambiar nada.

Por lo que he probado no influye el header en el snes9x, CUE me dijo que es mejor
no tocar el header porque puede no funcionar luego en la propia consola,
pero bueno no creo que alguien quiera jugar con el juego parcheado en algún flashcard
si el juego normal ya funciona bien.

Es que cuando cambias aunque sea un byte de una rom, el checksum te dice
que está mal, y al cargarlo en un emulador te dice que es un bad rom o bad dump,
por eso y por si influía en algo después de haber pasado la rom a ntsc pues le arreglé el checksum,
El byte de región es, como bien dices, el que usan algunos emuladores para establecer la región... snes9x lo usa en.su versión para pc al menos, zsnes pasa de él.

Como dato:

00 jap
01 usa
02 eur
...
08 esp


Esto estaba en el tutorial de repros...

Ah, y salvo que el juego lleve una rutina de comprobación de cabecera (ninguna rom original la lleva) lo que modifiques en ella es totalmente irrelevante de cara a una snes real. Otra cosa es que los emuladores usen esa información para su mejor ejecución. Algunos flashcarts como el SU8 tambien hacen uso de esos datos para, por ejemplo, generar el archivo de sram o cargar la rom en memoria.
He probado pasar
Lufia & The Fortress of Doom a PAL
Lufia 2 español a NTSC,
y se pasan bien, en snes9x y zsnes funcionan en la región que los he pasado.

El lufia 2 español en ntsc es la caña [fumando]
12 respuestas