Commodore manía

Commodore 64 => Desarrollo => Mensaje iniciado por: riq en Enero 15, 2015, 20:32:18

Título: Haciendo un juego compatible con PAL y NTSC a la vez
Publicado por: riq en Enero 15, 2015, 20:32:18
Hola,

¿Alguien tiene experience haciendo un juego compatible con PAL y NTSC a la vez?

Leí las diferencias técnicas entre ambos (http://"http://unusedino.de/ec64/technical/misc/vic656x/pal-ntsc.html"), y también vi que se puede detectar en runtime fácilmente cuando estas en PAL y cuando NTSC ( http://codebase64.org/doku.php?id=base:detect_pal_ntsc (http://codebase64.org/doku.php?id=base:detect_pal_ntsc) )

Mi duda más bien básica:
¿Cual es la mejor manera para que el juego funcione a la misma velocidad tanto en NTSC como en PAL?
¿Se pone un "delay" en si estas en NTSC? ¿tienen algún ejemplo que muestro como hacerlo?

Gracias!


Título: Re:Haciendo un juego compatible con PAL y NTSC a la vez
Publicado por: Carlos en Enero 15, 2015, 21:23:24
La teoría es sencilla, el funcionamiento diferente si el juego es PAL o NTSC es debido a que la mayoría de juegos sincronizan alguna (o varias) de sus rutinas con el refresco de pantalla (el famoso raster).

El refresco es diferente en PAL y NTSC, una pantalla PAL se refresca 50 veces por segundo mientras que una NTSC lo hace 60. Por lo tanto si hemos sincronizado el código para que algo se ejecute a determinada velocidad en PAL se verá mas rápido en NTSC y viceversa.

Soluciones hay varias, una es no sincronizar con los raster sino con el timer del CIA que es independiente de si es PAL o NTSC. Otra es detectar al principio del programa si estamos en un sistema PAL o NTSC (y por lo tanto refrescando a 50 o 60 veces por segundo) y tener en cuenta eso a la hora de sincronizar el código.
Título: Re:Haciendo un juego compatible con PAL y NTSC a la vez
Publicado por: riq en Enero 16, 2015, 00:45:08
Gracias Carlos.

¿Tenes idea donde puedo encontras más información?
¿O conoces de algún juego open source que use alguno de esos métodos?

Estoy ahora leyendo el código del Metal Warrior 4 ( http://cadaver.homeftp.net/games.htm (http://cadaver.homeftp.net/games.htm) ) para ver bien que usan.

Pero si conoces de algún ejemplo más sencillo que eso, te agradecería.

Gracias!
Título: Re:Haciendo un juego compatible con PAL y NTSC a la vez
Publicado por: Carlos en Enero 16, 2015, 01:19:21
Un ejemplo de sincronización de código con las interrupciones del CIA: http://codebase64.org/doku.php?id=base:timerinterrupts (http://codebase64.org/doku.php?id=base:timerinterrupts)
Título: Re:Haciendo un juego compatible con PAL y NTSC a la vez
Publicado por: riq en Enero 16, 2015, 01:37:29
gracias! eso era exactamente lo que estaba buscando :)
Título: Re:Haciendo un juego compatible con PAL y NTSC a la vez
Publicado por: josepzin en Enero 16, 2015, 15:30:57
Lo que no esté en Codebase64...