› Foros › Retro y descatalogado › Consolas clásicas
lord_raymon escribió:Se debe a que la Nes PAL no es exactamente como la NTSC (CPU y GPU diferentes, funcionando a diferente velocidad). Aunque te deje jugarlo por haber deshabilitado el CIC no funciona como deberia.
lord_raymon escribió:He estado trasteando/informandome sobre este tema pero no consigo hacerlos funcionar bien.
Mi idea era hacer correr tanto la CPU como la PPU a velocidades NTSC. Poner un oscilador diferente, uno para la CPU y otro para la PPU, por eso de que tienen los divisores diferentes a los de la NTSC. Haciendo calculos me daba que para la CPU el cristal debia ser de 28.63636Mhz y para la PPU ahora mismo no lo recuerdo pero el mas parecido que tenia era de 26.800Mhz.
Fuente de inspiracion:
http://wiki.nesdev.com/w/index.php/Clock_rate
Al aplicar este cambio la imagen se veia en blanco y negro , cosa que me hace pensar que la PPU esta trabajando en modo NTSC pero los glitches en el Zelda II NTSC (juego que he estado usando para probar) todavia estaban presentes.
¿Alguien entendido del tema sabe si esto es viable?
Yo creo que el tema de que sea imposible de realizar esta en la fuente donde dice...
Corresponding CPU clock speed >>> NTSC >>> 3 dots per CPU cycle
Corresponding CPU clock speed >>> PAL >>> 3⅕ dots per CPU cycle
bertobp escribió:Exactamente, si la PPU va a distinta frecuencia, el timing es distinto.. el efecto que se intuye en las fotos es que la VRAM no se actualiza en el tiempo para el que el juego fue programado.
No conozco la arquitectura de la NES pero en cualquier consola NTSC que dibuja 60 cuadros en pantalla por segundo, eso son 16 ms por cuadro. Imaginemos que la interrupcion de V-Blank, donde se actualiza la VRAM, dura 1ms.. nos quedan 15ms para la ejecucion del programa antes de actualizar la VRAM con, por ejemplo el avance de un scroll.
Si el juego ha sido programado para 50hz, el ciclo de programa durará algo mas de 15ms y la interrupcion de V-blank será tan corta que apenas se podrá actualizar parte del fondo de pantalla