@Kensaiken Te envio por privado copias limpias de las dos ROMs PAL de Paper Mario, la del cartucho y la de la Consola Virtual. Mételas en el ED sin parchear con PALadin ni ninguna otra cosa. A ver si esas si que te funcionan. Deberían cargar sin problema.
@SuperPadLand Aunque yo no tengo ningún EverDrive, si no 64drive, me conozco bastante bien cómo funciona la N64, y cómo va el tema de las restricciones de copia y region, y los modos de video.
El hardware que tenga el cartucho flash es poco menos que irrelevante a la hora de cargar o no. Una vez logras arrancar la consola, y el hecho de que el menú cargue es muestra suficiente de que lo has logrado, todo lo demás depende del software. Convencer a una ROM de que tu N64 NTSC es en realidad una N64 PAL es tán sencillo como cambiar el valor de un byte en la RAM de la consola, cosa que cualquier programa que corra en la consola, como es el menú de un cartucho flash, puede hacer facilmente. Todos los cartuchos modernos lo hacen o deberían hacerlo, pues es una ténica conocida de sobra desde los tiempos de la vieja scene, al igual que la emulación de arranque (boot emulation), para cargar juegos con un CIC diferente al que hay conectado realmente. Solo hay dos cosas en todo este asúnto que dependan del hardware. Una es las funciones especiales de seguridad del CIC X105, copiadas ya en el UltraCIC. La otra es que la frecuencia exacta del bus digital de audio y video de la consola (cerca de ~50MHz) se deriva de la frencuencia de la subportadora de color de video compuesto (y s-video), y, por tanto, depende de la region real de la consola. Esta diferencia provoca que los juegos PAL en NTSC corran a ~49.1Hz en vez de 50 y los NTSC en PAL ~61.2Hz, y que en algunos juegos, dependiendo de cómo estén programados, pueda haber desincronización entre audio y video en escenas guionizadas (Turok 3), una diferencia posible de velocidad imperceptible durante el juego, y, en casos muy raros, un bug como el que me encontré en South Park, el FPS cutre, donde, jugando a la ROM NTSC en la consola PAL, me encontré con que, despues de acabar con el jefe de un nivel específico y ver la cinemática correspondiente, en vez de pasar a la pantalla de puntuación para seguir al siguente nivel, resulta que me devolvía a la arena del jefe, pero sin posibilidad de hacer nada ni de salir de ella. Me pasé un buen rato dando vueltas e intentando de todo, y hasta volví a pasarme la fase dos veces mas con el mismo resultado. Hasta que, por fin, cambié a la consola NTSC y pude pasármelo. Fue la única vez que me encontré semejante error en un juego por un tonto cambio de región, y a lo único que se lo puedo achacar es a esa diferencia de velocidad en el bus de video, el cual algunos juegos usan como referencia de tiempo para ciertas cosas.
SuperPadLand escribió:Y el último modelo que ya tiene unos 4 años o más tiene una pestañita en la parte superior para elegir entre PAL-NTSC según cual sea la región de tu consola, sabiendo esto lo que hace el cartucho, creo que es funcionar a 50 o 60hz al lanzar un juego que es cuando la consola comprueba la región y una vez superado esta comprobación ya funciona a los hz reales del juego.
No, de comprobar algo comprueban el byte de región que mencioné antes, y ya está. "Los Hz" los determina el juego, estableciendo la cantidad de pixels entre cada pulso sincronización horizontal, para hacer lineas, y la cantidad de lineas por refresco vertical. Todo ello encajado en el pixel clock que resulta de la velocidad del bus de video.
Esos ~50MHz que mencioné antes tienes que dividirlos entre 4 para obtener el pixel clock (cantidad de pixels por segundo que salen por el bus de video al DAC) porque cada pixel se envía en 4 ciclos, uno para cada byte de color (R G y B) y uno mas para señalización, que, entre otras cosas, sirve para decirle al DAC que genere, en ese instante, un pulso de sincronización horizontal y/o vertical. Las longitud de linea, incluyendo video activo y partes no visibles, varía entre casi 800 y poco mas de 770 pixels, y viene establecida por el software. Y luego unas 262-263 lineas por campo para NTSC o 312-313 para PAL. Lo que tarde en salir todo eso por el bus de video depende de la velocidad exacta del mismo, que, como ya dije, varía según la region por estar derivada de la frecuencia de color del formato de video compuesto. O sea, que los juegos NTSC especifican un modo de video que produce ~60Hz casi exactos en la consola NTSC, pero si pones ese mismo juego en la consola PAL tira a ~61.2Hz por la diferencia del bus de video. Y a la inversa, los modos de video PAL, en la consola PAL producen 50Hz, pero en la consola NTSC ~49.1Hz. En realidad no es una diferencia importante.
mcfly escribió:Mi ed64,tiene selector ntsc/pal.
Eso será para que el CIC funcione en el mismo modo que la consola para que el menú pueda arrancar. Pero, por las razones que he explicado arriba, no tiene nada que ver con cómo funcionen o no, las ROMs de diferente región.
-----------------------
Todo este trajín con el Paper Mario me ha permitido descubrir una cosa interesante acerca del tamaño de la ROM PAL respecto a la NTSC, donde la NTSC son 40MB y PAL 64MB. Todos creíamos que esto era por los idiomas extra, y en parte así es, pero solo una pequeña parte. La ROM que se extrajo de la VC son solo 48MB, y, sin embargo, una comparacion binaria muestra que en esos 48MB no hay diferencia ninguna con la ROM original de 64MB. LLegados a este punto, las conclusiones preliminares es que, o bien la ROM de la VC está mal, y hay contenido que se queda fuera (lo cual probablemente causaría un error grave), o bien nada de esos 16MB extra son referenciados por el código de los 48MB iniciales, y realmente solo es relleno, probablemente porque no fabricaron nunca un cartucho de 48MB exactos y el siguiente mas grande eran directamente 64.
He copiado los últimos 16MB de la ROM de 64MB y los he comparado con los últimos 16MB de los 48MB que tienen en común ambas ROMs, y, efectivamente, coinciden. O sea, los últimos 16MB de la ROM son de relleno y están copiados directamente del final de los datos reales. Y aún en los de 48MB "reales" resulta que hay espacio vacío al final, ~163KB de FFs. Y es que 24MB de texto extra, a 8MB por idioma adicional, eran demasiado.
------------------------
El que comenta al final es el autor de esto:
https://evilgames.eu/emulation.htm#n64-ntsc-patches que yo mismo puse hace meses en el hilo de novedades de la scene. Al principio no le presté mucha atención porque, en el caso de N64, parecían ser todo parches con PALadin, y para eso ya los hago yo si los necesitase (y generalmente no los necesito). Además, la mayoría de los parches son simplemente para saltarse el chequeo de región, y no hacen nada con la señal de video, lo que si encontraría interesante en algunos casos. En ese hilo menciona que PALadin no funciona bien con juegos firmados para ciertos CICs, pero que él se ha dedicado a parchear el problema manualmente.
Paper Mario usa uno de esos CICs que PALadin no soporta correctamente, y, según parece, ya lo ha arreglado editando el parche.
Efectivamente, cuando probé a parchear Paper Mario con PALadin por mi cuenta, no funcionó, pero con el parche de este tio, si que va. Claro que a mi también me va la ROM sin parchear, con el mismo resultado.
Un detalle a tener en cuenta es que, salvo que tengas un 64drive HW2, que trae 128MB de RAM para ROMs (el único, creo), tienes que tener cuidado con las ROMs de 64MB parcheadas con PALadin. La razón es la manera en que los cartuchos flash generalmente tratan la emulación de los chips de guardado de los cartuchos.
En el caso de 64drive HW1 que trae 64Mbytes para ROMs (como el resto de cartuchos, segun tengo entendido), el FPGA tiene suficiente RAM interna para almacenar las partidas EEPROM de 4Kbits y 16Kbits, pero para SRAM de 256Kbits y 768Kbits y Flash-RAM de 1Mbit, tiene que alojarlos en la misma RAM que usa para las ROMs. Afortunadamente, todas las ROMs oficiales tienen suficiente espacio libre al final para que el cartucho flash use ese espacio para meter la partida correspondiente sin sobreescribir nada relevante. La única excepción es Pokémon Stadium 2, que ocupa 64MB y no tiene 128K libres para almacenar la partida FlashRAM al final del cartucho, pero si que hay un hueco vacío en medio de la ROM para meterlo ahí, y para ello los menús llevan código especial para alojar la partida guardada ahí.
Bien... Paper Mario PAL, versión cartucho, ocupa 64MB y guarda en Flash 1Mbit (128KByte), y PALadin mete su código específico al final de la ROM. El problema está en que el cartucho flash va a sobreescribir esa parte de la ROM con los datos de la partida guardada, por tanto la ROM PAL normal parcheada con PALadin, aún despues de la corrección del tio de tu enlace, no cargará. La versión VC, de 48MB, si.
Se que hay ciertos cartuchos flash que tienen RAM específica para las partidas, separada de la que usan para las ROMs. Supongo que en esos casos, no habrá problema.