Idioma :

Diferencias entre NTSC y PAL

por Guillermo Fuenzalida (WillySoft)


Una diferencia fundamental entre un computador Atari NTSC con respecto a uno PAL radica en que cada uno está ajustado específicamente a la norma de televisión utilizada. Es decir, son dependientes a la norma. NTSC funciona a frecuencia vertical de aproximadamente 60 Hz (59,94 Hz, para aproximarse un poco más), mientras que PAL utiliza 50 Hz. ¿Qué significa eso? Que, a CPUs de similar velocidad (1,79 Mhz NTSC y 1,77 Mhz PAL), tienes más tiempo entre pantalla y pantalla desplegada en PAL que en NTSC y, por lo tanto, puedes ejecutar más instrucciones entre pantalla y pantalla en PAL que en NTSC.


Más técnicamente, cada scanline (línea de barrido en la pantalla), equivale a 114 ciclos de máquina de la CPU. En NTSC hay 262 scanlines por frame (cuadro completo), mientras que en PAL hay 312. Por lo tanto, para cada frame, en NTSC tienes 114*262 = 29.868 ciclos de máquina por cuadro, mientras que en PAL tienes 114*312 = 35.568 ciclos de máquina. Debido a que la CPU 6502 ocupa al menos 2 ciclos de máquina por instrucción y llega hasta 7, y asumiendo un promedio de 4 ciclos en una rutina promedio (se puede discutir el supuesto), entonces tenemos aproximadamente 7.647 instrucciones a ejecutar por cuadro en NTSC y 8.892 instrucciones en PAL. ¡Esa diferencia es clave!


Para juegos antiguos, eso no era problema. Por lo general, los kernel (o núcleo en un programa), ocupaban mucho menos instrucciones por cuadro, lo que hacía que funcionaran en ambos formatos sin problemas. Sin embargo, a medida que se iban sofisticando las rutinas, esto hace más complejo el realizar una rutina compatible entre ambos formatos. Un ejemplo de ello está en el juego Bosconian, que utiliza una rutina muy diferente en NTSC, que es más rápida, pero que ocupa más memoria RAM para que justamente sea más rápido.


Por lo anterior, mucho de adaptar un juego a NTSC se basa en utilizar inteligentemente las instrucciones disponibles por cuadro dentro de él, aprovechando holguras o bien optimizando su uso. Hay casos simples, como simplemente reordenar las rutinas para que todo calce (Arax, Mouse Trap, Thinker, Rockman), como también opciones más complejas, que involucran optimizar rutinas y/o reordenar durante el barrido de pantalla (Spiky Harold, Johnny's Trouble).


En resumen, es todo un arte. Requiere conocer un poco más la máquina y ser capaz de detectar y cómo optimizar las rutinas de un juego.