parpadeos en double dragon nes ntsc

Hola
Estoy probando un double dragon de nes americano que he comprado. Aparte de que estaba bastante guarrete (curioso cuando :) el vendedor asegura que lo limpia profesionalmente antes de enviar), el juego parece que funciona bien, pero cuando caminas y hace scroll, la pantalla parpadea e intermitentemente aparece el marcador arriba. Cuando no hay scroll pq estás repartiendo manduca no ocurre. La verdad es que es bastante molesto cuando andas.

Estoy jugando en una nes pal con la patilla del cic cortada. ¿Puede ser algo "normal" por alguna incompatibilidad o algo así o el cartucho está defectuoso?

Os pongo un enlace a una foto donde se aprecia un poco el parpadeo con el marcador apareciendo arriba

https://www.dropbox.com/sc/c7n7rtssrvn84vt/m4lUH7gNGY

Edito: no es que parpadee, sino que se van como entremezclando otras partes del mapeado

http://db.tt/fZuYWBih

Al hacer pause tb ocurren remezclas

http://db.tt/XRh8lSpS
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ó: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.


OK. Yo pensaba que la única diferencia sería que los juegos irían más lentos. Así se hace un poco mareante. Me haría el mod de los hertzios, pero con lo manazas que soy corro el riesgo de cargarme alguna patilla de un chip que no deba o echar un pegote de soldadura demasiado grande y liarla parda [+risas]
La nes creo que no tiene mod 50-60htz, si lo quieres jugar bien tendrias que conseguir una nes usa o famicom con adaptador
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
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

Y no es mas facil y barato pillar una nes usa pelada?
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
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


O sea, si entiendo bien, que el programa intenta actualizar la memoria a una frecuencia q no permite el hardware y por eso se lían las imágenes.

Bueno, por lo menos me quito de líos y le doy el voto positivo al vendedor y pista. Como tenía el metroid también usa y no noté nada más que la velocidad, me confíe pensando que con todos sería igual. Miraré a ver cómo están ls nes usa, no sólo por la velocidad sino también por el bolsillo, igual al final sale rentable lo que gastas en la consola lo ahorras en juegos.
7 respuestas