@Sexy MotherFucker Entiendo que los muros de información de hace unas semanas son un tanto... densos y dispersos, pero esas cosas se comentaron. De todas formas, resumiré un poco aqui.
Hay 2 capas en el sistema "anticopia" de la N64.
Primero esta chip de seguridad. En los cartuchos va el CIC, y que se comunica con el chip PIF de la consola, que se encarga de inicializar la consola. El CIC puede ser variante NTSC o PAL (o MPAL, para Brasil, y puede que una para la placa arcade Aleck64, y quizá alguna cosa mas). En la consola está el chip PIF, que es el encargado de arrancar y configurar la consola, entre otras tareas, y es el que se comunica con el CIC del cartucho. Si la region no coincide, el PIF bloquea la consola.
Además de eso, hay un numero de tipos de PIF diferentes, con las siguientes equivalencias
PAL ----- NTSC
7101 --- 6102 --- el CIC mas comun, utilizado por los primeros juegos y todas las 3rd parties
7102 --- 6101 --- solo usado en StarFox 64 / Lylat Wars
7103 --- 6103 --- utilizado por juegos de segunda y tercera generacion de Rare y Nintendo
7105 --- 6105 --- utilizado por juegos como los Zeldas, PD, DK64, CBFD... tiene funciones extra de seguridad explotadas por RARE en JFG y BT, que necesitaron ser parcheados para poder funcionar con boot-emulators.
7106 --- 6106 --- utilizado por algunos pocos juegos, como Yoshi's Story, creo.
Si, falta el X104, y el 1 y el 2 están al reves en NTSC, no es un error tipografico.
En la cabecera de la ROM hay un codigo de carga que tiene que coincidir con el CIC para que el proceso funcione, y, ademas, algunas ROMs incluyeron algun truco de seguridad mas (especialmente RARE) para molestar a los pira... usuarios de copiones de entonces y las tecnicas "anti-DRM" de entonces. Además, El primer 1MB de la ROM (excepto la cabecera) tiene que dar un par de sumas de comprobacion especificas almacenadas en la cabecera de la ROM.
Todos esos elementos y comprobaciones son necesarios para que la N64 se digne a ejecutar tu ROM.
Una vez ejecutada, puede haber otras comprobaciones a la carta y habilidad de los programadores de turno.
Una comprobacion que se hizo popular despues de las primeras remesas de juegos fue comprobar el Os_Tv_Type, que es el nombre de variable que libultra (el SO de N64, la libreria de desarrollo oficial) le da a un byte que el proceso de inicializacion del PIF almacena en RAM antes de de permitir la ejecucion de la ROM. Este byte se pone a 00 si el PIF/consola es PAL, 01 para NTSC y 02 para MPAL. Algunos juegos, como enseñé en el video que grabé, comprueban este byte, si si no les gusta lo que ven, te dicen alguna bordez, como que te compres otra consola porque esa no les vale. O una pantalla en negro sin mas... al gusto del programador.
Los bootloaders incluidos en los menus de los cartuchos de ROMs actuales simplemente "spoof"ean ese valor para hacerlo coincidir con la ROM. (detallé esto unos posts atrás, con una lista de codigos de pais en las cabezeras ROMs y su equivalencia a PAL, NTSC o MPAL). Por ejemplo, si la ROM tiene una S (de Spain) como idenfiticador de region, el menu del 64drive, como parte del proceso de carga de la ROM, reescribe el valor Os_Tv_Type a 00 (PAL), antes de dar paso a la ejecucion de la ROM, para que cuando arranque no proteste si se encuentra un 01 porque la consola es NTSC. De la misma forma, si la ROM tiene una E (de English, la ID de region que Nintendo escogió para USA), el menú cambiará el Os_Tv_Type a 01 antes de ejecutar la ROM, para tratar de hacer pasar tu consola PAL por una NTSC.
Tambien puedes desactivar el spoofing y ver que pasa si el Os_Tv_Type de la consola no coincide con la ROM, y ver esos bonitos avisos de "tu consola no mola". O las pantallas negras... O las ROMs que se la suda y carga igual, e quizá funcione todo perfecto o quizá no del todo, o quizá ocurran otras cosas buenas o malas porque los programadores hicieron cosas interesantes y pasaron de las normas de Nintendo... hay casos...
Hay cosas creativas, pero son raras.
Sobre tu pregunta del "voltage"... no se quien te diría eso, pero, el voltaje solo es diferente en el enchufe de la pared. El voltaje DC que una PSU europea da a la consola es el mismo que el de una PSU yanki o japo. La cuestion es que si enchufas una PSU yanki o japo, que requieren 100-120V, a un enchufe de 200-240 V de España, la PSU se quema, y quiza la N64 tambien. Tambien pueden sentarles mal la diferencia de frecuencia de AC, que son las mismas que en NTSC y PAL respectivamente.
Pero si compras una consola NTSC y le pones la PSU de una consola PAL y la enchufas en España, todo va perfecto. Lo que tiene que coincidir es la PSU con la corriente AC del enchufe de la pared de tu casa.
Obviamente la salida de video es diferente entre consolas NTSC y PAL (por cierto, la consola NTSC es igual en Japon y en USA, excepto por las indentaciones del cartucho y la bandeja del receptaculo, para evitar que encaje. Además de eso, la señal de video de ambas, incluida la de USA, es NTSC-J, la variante NTSC de japon que tiene un nivel de negro ligeramente distinto al estandar NTSC original de USA).
La cuestion de las velocidades es lo que despista. la frecuencia del RCP es la que determina la velocidad general del sistema, porque de el se deriva la CPU y otras cosas. Y, yo, por lo menos, ya no se si la velocidad del RCP se deriva de la de la RDRAM o del bus de video. lo que está claro es que el video y la RDRAM no están sincronizadas entre si, ya que sus relojes se derivan de cristales de referencia distintos, y uno de ellos es diferente en cada region.
Sea como sea, esto puede afectar a los juegos si los ejecutas en consolas de region diferente a la que esperan.
Ejemplos:
Turok 3 : Las escenas cinematicas sufren desincronizacion entre la animacion y el sonido cuando cargas una ROM en la consola equivocada. Con una conmbinacion el audio va acumulando retraso hasta que al final de la escena hay una diferencia brutal, y con la combinacion inversa, el audio va demasiado rapido quedandose la escena sin sonido cara el final. No recuerdo cual era cual, pero creo que quizá el sonido adelanta cuando usas consola PAL y ROM NTSC, y atrasa si es consola NTSC con ROM PAL.
Donkey Kong 64: El reloj de las pruebas temporizadas se ve afectado por las diferencias de reloj. En una combinacion el reloj va mas rapido de lo que deberia y en otra mas lento. Supongo que si la prueba tiene un tiempo asignado lo suficientemente ajustado, en una de las combinaciones de ROM y consola, quizá se vuelva imposible porque el reloj se acabará antes de que sea fisicamente posible acabar la prueba. No tengo datos reales sobre esto, solo teoreticos, igual la diferencia no es tan grande como para dar problemas, pero existir existe.
Puede haber otros desajustes, probablemente minimos en general.
Personalemente me encontre con el que probablemente sea el error mas raro debido a cargar ROMs de la region equivocada. Ya lo comenté con anterioridad pero lo repito para la ocasion:
South Park, el juego de tiros en primera persona de Acclaim, reciclando el motor de Turok 2:
Jugué a la ROM NTSC en mi consola PAL. Llegué a una fase en la que el pueblo esta lleno de gente se ha convertido en zombies/mutantes o algo asi. La ultima fase del episodio tiene un jefe final delante de la biblioteca del pueblo, un bichejo gigantesco supermutado asqueros. Cuando llegas al recinto las puertas se cierran detrás de ti y ya solo puedes enfrentarte al jefe.
Me lo cargué 3 veces, y las 3 veces, despues de matarlo, me mostraban una escena donde los 4 crios comentaban la jugada y se aliviaban de acabar con la invasion zombiemutante, y, acto seguido me devolvian al recinto del jefe, sin nada mas que ahcer que dar vueltas y gastar municion, sin salida ninguna posible. Busqué y busqué como loco hasta que decidi cargar el juego en la consola NTSC. Volví a cargarme al jefe y una vez acabó la escena animada, efectivamente, el juego me llevó, como es debido, a la pantalla de puntuacion y guardar partida.
Conclusion: Mi consola PAL, a efectos de entorno, gracias al cartucho flash, el bootloader con spoofing, etc, era una consola NTSC... pero, de alguna manera, la diferencia de frecuencias (sean del componente que sea, que eso aun es un misterio para mi) desató un "bug" raro que impedia que, en esa fase en concreto, cargase la pantalla de puntuacion para poder continuar con el juego, y, en vez de eso, me devolvió a la fase en la que estaba, sin posibilidad de salir.
Cual sea la causa exacta de este comportamiento ya no tengo ni dea.
Respondiendo a tu ultima pregunta, sobre "cual es mejor"... bueno... mejor es que concuerden en genero y numero... digo, que concuerde la ROM y la consola xD
Ahora bien, habitualmente las ROMs NTSC son mejores porque no tienen barras negras o escalado de imagen (hay un puñado de excepciones que tambien comenté anteriormente), y los errores debidos a correr ROMs NTSC en consola PAL, como el que comento, no parecen algo habitual, ni hay miles de usuarios quejandose por ello, asi que..., en general, bien.
Algunas ROMs PAL tienen ventajas: La mas obvia los idiomas (aunque, personalmente, juego siempre en ingles...). Luego tambien que algunos juegos, al salir despues, tienen algunos bugs menos, o que , en las versiones PAL de ciertos juegos que ya comenté de desarrolladores britanicos, se preocuparon de implementar 288p real, sin escalado. GE, PD, DKR y 40Winks...
En fin, en general es seguro usar ROMs NTSC en consola PAL. Es hasta recomendable. Pero pueden darse y se dan cosas raras a veces...
Finalmente, a nivel tecnico, el reloj del bus de video digital entre el RCP y el DAC es diferente entre regiones, siendo ligeramente mas rapido en la consola PAL que en la NTSC. Cómo y cuánto afecta eso al rendimiento de la consola, o los bugs de software por juego "de importacion" que eso pueda causar ya son cuestiones mas complicadas, principalmente porque no parece que tengamos claro si la velocidad del RCP y la CPU se derivan de el, o si se derivan del reloj fijo de la RDRAM que es igual en todas las regiones. Yo, desde luego, en este momento no se la respuesta. Creía tenerla hace unas semanas, pero ya no...